比SkLearn更好用的机器学习工具-PyCaret

今天试了试pycaret这个机器学习库,感觉简直是个建模宝藏啊,从数据预处理、特征工程、建模、自动优化、模型部署,所有功能基本全部覆盖。它的原理大概就是封装了Sklearn,XGBoost,LightGBM,Spacy,Shap,PyOD,Gensim,WordCloud等工具,几乎包括机器学习所有的使用场景和方法(不含深度学习)。异常检测Anomaly Detection,关联规则Association Rules,分类Classification,回归Regression,聚类Clustering,自然语言处理NLP等,其中支持最丰富的还是分类和回归。

我觉得做一些单机版的机器学习建模用pycaret这样的工具就很方便了,最吸引我的其实是它的上层的API接口设计。总之,强烈推荐初学者使用。

比方说注册数据叫做setup:

eg1 = setup(data, target = 'charges', silent=True, 
            categorical_features=['sex', 'smoker', 'region', 'children'], 
            numeric_features=['age', 'bmi'])

建模直接叫做create model,算法名字作为变量传进去,这样的话扩展性非常强了,以后增加算法的话这个调用方式也不用改:

xgboost = create_model('xgboost')

还有一个比较有意思的是它封装的自动调参功能,直接就叫做tune_model:

xgboost = tune_model('xgboost')

 

比SkLearn更好用的机器学习工具-PyCaret_第1张图片

会把调参后的一些结果直接列出来。

还有一个比较牛逼的点是模型融合,直接把要融合的模型放到列表里,然后blend_model就好了。

xgboost=blend_models(estimator_list=[classification_dt, classification_xgb])

最后想比较多个模型的性能,直接输入compare_models:

比SkLearn更好用的机器学习工具-PyCaret_第2张图片

 

是不是感觉很方便,搞一个全链路训练加预测估计就10行代码就搞定了。

链接奉上:https://github.com/pycaret/pycaret

你可能感兴趣的:(机器学习,机器学习,人工智能)