关于 PyCaret 你可能不知道的 5 件事
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
PyCaret 是一个 Python 开源机器学习库,用于在低代码环境中训练和部署监督学习和无监督学习模型。它以易用性和高效率著称。
与其他开源机器学习库相比,PyCaret 是一个替代性的低代码库,只需寥寥数语即可替代数百行代码。
“在与许多日常使用 PyCaret 的数据科学家交流后,我精选了 5 个鲜为人知但功能极其强大的 PyCaret 特性。” — Moez Ali
在无监督机器学习中,“n 参数”至关重要,例如聚类实验中的簇数量、异常检测中的异常值比例以及主题建模中的主题数量。
当实验的最终目标是利用无监督实验的结果预测一个结果(分类或回归)时,**pycaret.clustering 模块中的 tune_model() 函数,pycaret.anomaly 模块以及 **pycaret.nlp **模块****就非常方便了。
这是一个小额信贷数据集,每一行代表一个借款人及其相关信息。'en' 列记录了每个借款人的贷款申请文本,而 'status' 列表示借款人是否违约(违约 = 1,未违约 = 0)。
你可以使用 **pycaret.nlp **中的 **tune_model **函数,根据监督实验的目标变量(即预测最终目标变量所需的最佳主题数量)来优化 **num_topics **参数。你可以使用 estimator 参数(在本例中为 'xgboost')定义用于训练的模型。此函数返回一个训练好的主题模型和可视化图,显示每次迭代中的监督指标。
**pycaret.classification **模块和 pycaret.regression 模块中的 **tune_model **函数采用在预定义网格搜索之上的随机网格搜索进行超参数调优。默认迭代次数设置为 10。
**tune_model **的结果不一定比使用 **create_model **创建的基础模型的结果有所改进。由于网格搜索是随机的,你可以增加 **n_iter **参数来提升性能。参见下面的示例
当你初始化 **setup 函数时,**系统会要求你通过用户输入确认数据类型。在工作流程中运行脚本或将其作为远程内核(例如 Kaggle Notebooks)执行时,通常需要以编程方式提供数据类型,而不是通过用户输入框。
将 silent 参数设置为 True 以避免输入,**categorical_features **参数接受类别列的名称字符串,而 **numeric_features **参数接受数值列的名称字符串。
很多时候,你的数据集中有一些特征是你不想删除但又想在训练机器学习模型时忽略的。一个很好的例子是聚类问题,你在创建簇时想忽略某些特征,但之后分析簇标签时又需要这些列。在这种情况下,你可以在 **setup **函数中使用 **ignore_features **参数来忽略这些特征。
在下面的示例中,我们将执行聚类实验,并希望忽略 ‘Country Name’ 和 ‘Indicator Name’。
在分类问题中,假阳性的成本几乎从不等于假阴性的成本。因此,如果你正在为一个业务问题优化解决方案,并且第一类错误和第二类错误产生不同的影响,你可以通过单独定义真阳性、真阴性、假阳性和假阴性的成本来优化分类器的概率阈值,从而优化自定义损失函数。默认情况下,所有分类器的阈值都为 0.5。
然后你可以在 **predict_model **函数中将 **0.2 **作为 **probability_threshold **参数传递,以便使用 0.2 作为将类别预测为正例的阈值。参见下面的示例
截至第一个版本 1.0.0,PyCaret 提供了以下模块。点击下面的链接查看文档和 Python 工作示例。
Notebook 中的 PyCaret 入门教程
如果你之前没用过 PyCaret 或者想了解更多,一个不错的起点是.
为了理解这一点,让我们看一个使用 “”数据集的示例。
参见下面的示例,使用 “”数据集的示例。
参见下面的示例,使用 “”数据集的示例。
我们收到了来自数据科学社区的巨大支持和反馈。我们正在积极改进 PyCaret 并准备下一次发布。PyCaret 2.0.0 将会更强大、更完善。如果你想分享反馈并帮助我们进一步改进,你可以在网站上填写此表或在我们的或页面上留言。
关注我们的并订阅我们的频道了解更多关于 PyCaret 的信息。
PyCaret 是一个开源项目。欢迎所有人贡献力量。如果你想贡献,请随时在上贡献。接受带有单元测试的 dev-1.0.1 分支的拉取请求。
请在我们的上给我们 ⭐️,如果你喜欢 PyCaret。
Medium