简单生活第一步:数据科学家该了解的4个Python自动库( 二 )
也许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应该使用哪一个自动库呢?
推荐阅读
- 安东尼·戴维斯|总决赛期间,巴特勒96投157分,浓眉哥98投150分,而詹皇是这数据
- 大数据&云计算长飞公司亮相2020中国国际信息通信展览会
- 电池|iPhone12电池小,真的续航差?看看真实的数据就明白了
- 金十数据|澳大利亚铁矿石对华出口会受影响吗?,中国1年买超6亿吨!煤炭之后
- 飞翔电竞|数据表明,他才是目前世界第一中单!,左手世界赛状态低迷
- 虎扑|媒体盘点其恐怖数据,前NBA球员马努特-波尔58岁生日
- 我是球委会|詹皇五项数据第一,小卡呢,过去5年的FMVP谁更强?阿杜得分最高
- 丁祖昱|数据中心成投资新风口“数字地产”受青睐
- 数据|4.9%:三季度经济强劲复苏
- 增长|0.7%,一个标志性数据!
