PyCaret:又一个神仙ML库

PyCaret这个开源工具,用起来可谓简单至极,少量代码就可以搭建各种端到端的模型,废话不多说,直接看实战。

PyCaret安装:

v2-7a1a90b0e78b8dc998c0320c908bd6df_b.jpg

先用PyCaret自带的'insurance'数据集作为例子,我们看下数据:

v2-64d4ab59f0121c6068acc3f216577eb3_b.jpg

v2-66d8dbd353b5b6a462f4d8a620cdb708_b.jpg

数据预处理

该步骤是使用PyCaret构建任何模型强制要做的一步:

v2-500a2aff4180ebe50d403dc83a81e98a_b.jpg

执行完上述代码后,不仅自动推断了各个特征的类型,还问你是否推断正确。

v2-ddff439f11449c492d383e3d28d32b85_b.jpg

直接continue,会弹出setup的分析结果,如下图所示:

v2-5aa4bc47abfebc0555fd34b886d7f0e4_b.jpg

从上图红框中,我们惊喜的发现连训练集测试集都帮忙我们拆分好了,并行已经帮我们把训练数据shuffle好了。当然我们可以自定义拆分比例,如下所示:

setup(data = insurance, target = 'charges', train_size = 0.5)

也可以对数据进行scale:

setup(data = pokemon, target = 'Legendary', normalize = True)

会默认帮你把连续值,离散值的缺失值处理掉:

v2-458e3dfc654f2e67fe3bab6dce33d33c_b.jpg

可以对数据进行分桶,只需要加上参数bin_numeric_features :

setup(data = income, target = 'income >50K', bin_numeric_features = ['age'])

需要进行特征筛选的话,也只需要加一个参数feature_selection = True:

setup(data = diabetes, target = 'Class variable', feature_selection = True)

同样,一个参数连异常值都帮你移除了remove_outliers = True:

setup(data = insurance, target = 'charges', remove_outliers = True)

还有各种各样的预处理操作,大家可以参考官方文档。

pycaret.org/preprocessi

模型训练

直接看下我们可以用哪些模型:

# check all the available models
models()

v2-a697c4b56f4d0fc08df7b177836eccee_b.jpg

真的是应有尽有,大部分炼丹师其实只看到了最下面3个,xgb,lgb,cbt。

v2-053b55c5c4b67aab7c4c73b651057873_b.jpg

模型训练

那么我们就用xgb跑下吧:

# train decision tree
dt = create_model('xgboost')

然后啥都不用写,测试集上各个mertic就显示出来了:

v2-30132ca2001ea46b1a6e11193e3ec6bf_b.jpg

模型融合是大家最常用的,也只需要一行代码:

# train multiple models
multiple_models = [create_model(i) for i in ['dt', 'lr', 'xgboost']]

要比较各个模型,也只需要一行代码:

# compare all models
best_model = compare_models()

v2-2cb553e01116a9157351d3146bf837af_b.jpg

模型预估:

predictions = predict_model(best_model, data = data2)

所以,大家数数看,我们一共才写了几行代码,就把模型预处理、训练、验证、融合、预估全完成了?做表格类数据模型真的是太方便了。

v2-edda7a47f9f2145524c6e0c8ce667d01_b.jpgPyCaret!又一个神仙ML库!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部