网易首页 > 网易号 > 正文 申请入驻

简单生活第一步:数据科学家该了解的4个Python自动库

0
分享至

全文共4739字,预计学习时长12分钟

图源:unsplash

机器学习(AutoML)是一个新兴领域,其中用来建模数据的机器学习模型是一个自动化的过程,AutoML的功能使建模更为轻松。如果对AutoML感兴趣,笔者向你推荐以下4个必学的Python库。

1.auto-sklearn

auto-sklearn是一个自动机器学习工具包,无缝集成业内许多人都熟悉的标准sklearn界面。通过使用贝叶斯优化等最新方法,构建库来导航可能的模型空间,并学习推断特定的配置是否能很好地完成给定任务。

这个库是由Matthias Feurer等人创建,其技术细节在一篇名为《高效和鲁棒机器学习》的论文中进行了描述。Feurer写道:“我们引入了一个基于scikit-learn的新鲁棒性自动系统——使用15个分类器、14个特征预处理方法和4个数据预处理方法生成110个超参数的结构化假设空间。”

auto-sklearn可能是入门AutoML的最佳库。除了挖掘数据集的数据准备和模型选择之外,它还能学习类似数据集上性能良好的模型。

图源:Efficient and Robust Automated Machine Learning(2015)

在有效实施的基础上,auto-sklearn将所需用户交互降至最低。可以使用pip install auto-sklearn来安装库。

可以使用的两大类是Auto Sklearn Classifier和Auto Sklearn Regressor,分别用于分类和回归任务。两者都有相同的用户指定参数,其中最重要的是时间限制和集成大小。

import autosklearn as ask
#ask.regression.AutoSklearnRegressor()for regression tasks
model =ask.classification.AutoSklearnClassifier(ensemble_size=10, #size of the endensemble (minimum is 1)
time_left_for_this_task=120, #the number ofseconds the process runs for
per_run_time_limit=30) #maximum secondsallocated per model
model.fit(X_train, y_train) #begin fittingthe search model
print(model.sprint_statistics()) #printstatistics for the search
y_predictions = model.predict(X_test) #get predictionsfrom the model

2.TPOT

TPOT是另一个自动化建模管道的Python库,它更强调数据准备、建模算法和模型超参数。它通过一种进化的基于树结构自动化特征选择、预处理和构造,“该结构称为基于树管道优化工具(TPOT),可以自动设计和优化机器学习管道。”

图源:数据科学自动化中基于树的流水线优化工具的评价(2016)

程序或管道以树状图呈现。遗传程序选择并进化某些程序,以最大化每个自动机器学习管道的最终结果。

正如Pedro Domingos所说:“一个拥有大量数据的愚蠢算法胜过一个拥有有限数据的聪明算法。”事实确实如此,TPOT可以生成复杂的数据预处理管道。

图源:TPOT documentation

就像许多AutoML算法一样,TPOT管道优化器可能要花几个小时才能产生好的结果,你可以在Kaggle commits或者谷歌Colab中运行这些长时间的程序。

import tpot
pipeline_optimizer = tpot.TPOTClassifier(generations=5, #number ofiterations to run the training
population_size=20, #number ofindividuals to train
cv=5) #number of foldsin StratifiedKFold
pipeline_optimizer.fit(X_train, y_train) #fit thepipeline optimizer - can take a long time
print(pipeline_optimizer.score(X_test, y_test)) #print scoringfor the pipeline
pipeline_optimizer.export('tpot_exported_pipeline.py') #export thepipeline - in Python code!

也许TPOT的最佳特性是可以将模型导出为Python代码文件,方便以后使用。

3.HyperOpt

由James Bergstra开发的HyperOpt是一个用于贝叶斯优化的Python库。为大规模优化具有数百个参数的模型而设计,该库明确用于优化机器学习管道,并具有在多个核和机器之间扩展优化过程的选项。

“我们的方法是公开一个性能度量(例如验证示例上的分类精度)如何从超参数计算的底层表达式图,这些超参数不仅控制单个处理步骤的应用,而且甚至控制包含哪些处理步骤。”

然而,HyperOpt很难直接使用,因为它存在技术壁垒,需要仔细指定优化过程和参数。我建议使用HyperOpt-sklearn,这是一个包含sklearn库的HyperOpt包装器。

具体来说,尽管HyperOpt支持预处理,但其主要关注几十个进入特定模型的超参数。考虑一次HyperOpt-sklearn搜索的结果,在没有进行预处理的情况下,得到了一个梯度增强分类器:

{'learner': GradientBoostingClassifier(ccp_alpha=0.0, criterion='friedman_mse', init=None,
learning_rate=0.009132299586303643, loss='deviance',
max_depth=None, max_features='sqrt',
max_leaf_nodes=None, min_impurity_decrease=0.0,
min_impurity_split=None, min_samples_leaf=1,
min_samples_split=2, min_weight_fraction_leaf=0.0,
n_estimators=342, n_iter_no_change=None,
presort='auto', random_state=2,
subsample=0.6844206624548879, tol=0.0001,
validation_fraction=0.1, verbose=0,
warm_start=False), 'preprocs': (), 'ex_preprocs': ()}

构建HyperOpt-sklearn模型的文档提到,它比auto-sklearn要复杂得多,比TPOT稍微复杂一点。但如果超参数的作用很重要,那么多余的繁琐工作也是值得的。

4.AutoKeras

与标准的机器学习库相比,神经网络和深度学习要强大得多,因此也更难实现自动化。

· 使用AutoKeras,神经结构搜索算法会找到最好的结构,比如一层中的神经元数量,层的数量,要合并的层,层的特定参数,比如过滤器的大小或Dropout中丢失的神经元的百分比等等。一旦搜索完成,就可以将其当作一个普通的TensorFlow/Keras模型来使用这个模型。

· 通过使用AutoKeras,你可以构建一个包含复杂元素的模型,比如嵌入和空间缩减,否则那些仍在摸索深度学习的人将很难获得这些元素。

· 当AutoKeras创建模型时,已完成并优化许多预处理,如向量化或清理文本数据。

· 启动和训练搜索只需要两行代码。而AutoKeras拥有一个类似于keras的界面,所以它易于记忆和使用。

AutoKeras支持文本、图像和结构化数据,并为初学者和那些希望深入技术知识的人提供接口,AutoKeras使用进化神经结构搜索方法来消除困难和歧义。尽管AutoKeras运行的时间很长,但有许多用户指定的参数可用来控制运行时间、探索的模型数量、搜索空间大小等。

Hyperparameter |Value |BestValueSoFar
text_block_1/block_type|transformer|transformer
classification_head_1/dropout|0 |0
optimizer |adam |adam
learning_rate |0.001 |0.001
text_block_1/max_tokens|20000 |20000
text_block_1/text_to_int_sequence_1/output_sequence_length|200 |200
text_block_1/transformer_1/pretraining|none |none
text_block_1/transformer_1/embedding_dim|32 |32
text_block_1/transformer_1/num_heads|2 |2
text_block_1/transformer_1/dense_dim|32 |32
text_block_1/transformer_1/dropout|0.25 |0.25
text_block_1/spatial_reduction_1/reduction_type|global_avg|global_avg
text_block_1/dense_block_1/num_layers|1 |1
text_block_1/dense_block_1/use_batchnorm|False |False
text_block_1/dense_block_1/dropout|0.5 |0.5
text_block_1/dense_block_1/units_0|20 |20

应该使用哪一个自动库呢?

图源:unsplash

· 如果你首选整洁、简单的界面和相对快速的结果,请使用auto-sklearn。可以与sklearn的自然集成,与常用的模型和方法一起使用。

· 如果注重的是高精确度而不介意训练所需消耗时间较长,可以使用TPOT。可通过用树状结构代表管道而达成其强调的先进预处理方法,它还能额外输出最佳模型的Python代码。

· 如果注重高精确度而不介意潜在的较长训练时间,则使用HyperOpt-sklearn,强调模型的超参数优化是否有成效取决于数据集和算法。

· 如果你的问题涉及神经网络,特别是文本或图像形式的问题,请使用AutoKeras。其训练确实需要很长时间,但有大量的措施可以控制时间和搜索空间的大小。

想实现自动化,千万不要错过这四个库。

留言点赞关注

我们一起分享AI学习与发展的干货

如转载,请后台留言,遵守转载规范

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
不放开55公斤限制,修订新国标标准也是徒劳,行内人说出3个理由

不放开55公斤限制,修订新国标标准也是徒劳,行内人说出3个理由

电动车的那些事儿
2024-04-24 06:18:38
彻底摊牌了!郭台铭做梦也没料到,中国市场赏饭吃的时代已结束

彻底摊牌了!郭台铭做梦也没料到,中国市场赏饭吃的时代已结束

我不叫阿哏
2024-03-30 07:30:16
空间站遭多次撞击,来源已锁定:神舟十八发射,首次携带附加装甲

空间站遭多次撞击,来源已锁定:神舟十八发射,首次携带附加装甲

说天说地说实事
2024-04-25 20:37:37
产后没母乳,婆婆推荐我去按摩,技师竟然是个黑人

产后没母乳,婆婆推荐我去按摩,技师竟然是个黑人

温酒与茶
2024-04-03 09:33:43
惨败!惨败!烂柯杯第二轮,李轩豪、谢尔豪、赵晨宇等被淘汰出局

惨败!惨败!烂柯杯第二轮,李轩豪、谢尔豪、赵晨宇等被淘汰出局

室内设计师阿喇
2024-04-26 13:52:19
“消失”了三个月的市委原书记,被查了

“消失”了三个月的市委原书记,被查了

政知新媒体
2024-04-25 21:05:22
这个毒瘤何时能够剜掉?

这个毒瘤何时能够剜掉?

凡事一定有办法13119
2024-04-25 08:50:00
强雷雨云团已基本移出深圳 降雨有所减弱

强雷雨云团已基本移出深圳 降雨有所减弱

每日经济新闻
2024-04-26 10:53:08
揭秘李晨与杨颖恋情曝光真实内幕

揭秘李晨与杨颖恋情曝光真实内幕

代军哥哥谈娱乐
2024-04-25 10:25:48
魅惑冰丝086

魅惑冰丝086

白宸侃片
2024-04-25 21:21:36
央视开播!殷桃王骁领衔主演,属于生活剧的天花板要来了

央视开播!殷桃王骁领衔主演,属于生活剧的天花板要来了

娱乐圈小胡椒
2024-04-26 14:20:02
专家:不要那么傻,坚决反对提前还贷,贷款就是你占了银行便宜

专家:不要那么傻,坚决反对提前还贷,贷款就是你占了银行便宜

双色球的方向舵
2024-04-26 11:38:19
欧洲人:欧洲要走出自己的路,研究其他方法,像中国一样不受别人控制

欧洲人:欧洲要走出自己的路,研究其他方法,像中国一样不受别人控制

搞笑的阿票
2024-04-25 02:21:45
武汉中考指标各区差异悬殊!洪山区、高新区的菜中泼到了富贵么?

武汉中考指标各区差异悬殊!洪山区、高新区的菜中泼到了富贵么?

糖逗在娱乐
2024-04-26 11:08:03
“骗”了我们30年,韩红父亲原来是家喻户晓的他难怪都不敢得罪她

“骗”了我们30年,韩红父亲原来是家喻户晓的他难怪都不敢得罪她

清欢渡语
2024-04-24 22:48:41
杭州西湖有人组团往水里放生甲鱼等外来物种?景区管委会:属实,他们避开了监控

杭州西湖有人组团往水里放生甲鱼等外来物种?景区管委会:属实,他们避开了监控

环球网资讯
2024-04-25 21:06:19
郭台铭公开发声,若苹果公司离开中国,中国市场或将“变天”?

郭台铭公开发声,若苹果公司离开中国,中国市场或将“变天”?

我不叫阿哏
2024-04-26 11:20:03
外交部美大司举办吹风会,介绍美国国务卿布林肯访华相关情况

外交部美大司举办吹风会,介绍美国国务卿布林肯访华相关情况

澎湃新闻
2024-04-26 18:06:27
土耳其归还当年“辽宁号”的10亿过路费,恳请中方加大投资!

土耳其归还当年“辽宁号”的10亿过路费,恳请中方加大投资!

星辰故事屋
2024-03-31 11:04:14
王子文首谈被吴永恩骗了:他根本没有爱过我!

王子文首谈被吴永恩骗了:他根本没有爱过我!

娱乐的小灶
2024-04-26 07:50:23
2024-04-26 18:52:49
读芯术
读芯术
专注年轻人的AI学习平台
2097文章数 5641关注度
往期回顾 全部

科技要闻

车展观察|德系日系绝不能放弃中国市场

头条要闻

媒体:乌军总司令上任3个月 他对无人机的应用让人意外

头条要闻

媒体:乌军总司令上任3个月 他对无人机的应用让人意外

体育要闻

库里当选最佳关键球员 10项数据联盟第一

娱乐要闻

金靖回应不官宣恋情结婚的原因

财经要闻

贾跃亭,真他娘是个人才

汽车要闻

2024北京车展 比亚迪的自驱力让对手紧追猛赶

态度原创

艺术
房产
数码
教育
军事航空

艺术要闻

日居月諸:莊聲濤新墨作品展

房产要闻

涉及黄埔、番禺、增城!广州新一轮大规模征地启动

数码要闻

三重激光避障!米家全能扫拖机器人M30图赏

教育要闻

看完世界首富硬核母亲的这3条育儿心得,我突然不焦虑了

军事要闻

以军称已完成对拉法地面军事行动准备工作

无障碍浏览 进入关怀版