imodels 是一个旨在简化、透明且高效的预测建模 Python 软件包。该项目专注于提供易于理解的机器学习模型,方便用户在保障预测准确性的同时,增强模型的可解释性和计算效率。以下是对 imodels 项目的详细介绍。
在现代机器学习中,模型的复杂性日益增加,使得模型的解释变得愈加困难。imodels 提供了一种简单的接口,可以用于拟合和使用最新的可解释模型。这些模型与 scikit-learn 兼容,可以用简化的模型(如规则列表)替代黑箱模型(如随机森林),提高模型的可解释性和计算效率,而不损失预测精度。
只需导入一个分类器或回归器,并使用与 scikit-learn 模型相同的 fit
和 predict
方法,即可开始使用 imodels。以下是一个简单的使用示例:
from sklearn.model_selection import train_test_split from imodels import get_clean_dataset, HSTreeClassifierCV # 准备数据 X, y, feature_names = get_clean_dataset('csi_pecarn_pred') X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42) # 拟合模型 model = HSTreeClassifierCV(max_leaf_nodes=4) model.fit(X_train, y_train, feature_names=feature_names) preds = model.predict(X_test) preds_proba = model.predict_proba(X_test) print(model)
可以通过 pip install imodels
进行安装。如需帮助可以查阅此处。
imodels 支持多种模型类型,包括但不限于 :
详细支持模型列表以及其描述和参考文档可通过这里查阅。
imodels 提供许多示例以及支持不同机器学习任务的多种模型类型,包括二元分类、回归等。这些示例展示了如何对不同的可解释模型进行拟合、预测和可视化。
imodels 还提供了一些额外的功能,例如数据清洗、误差解释、快速和有效的数据离散化等,以帮助用户更好地进行数据预处理和分析。
FIGS: 快速可解释的贪婪树求和
层级缩减: 基于树的后期正则化
MDI+: 灵活的基于树的特征重要性框架
imodels 项目是对多种现有项目的集成、优化和维护,提供统一的接口和文档。项目还在持续更新中,欢迎关注更新并提出贡献。
如您在学术研究中使用 imodels,请记得进行引用。完整的引用格式如下:
@software{ imodels2021, title = {imodels: a python package for fitting interpretable models}, journal = {Journal of Open Source Software}, publisher = {The Open Journal}, year = {2021}, author = {Singh, Chandan and Nasseri, Keyan and Tan, Yan Shuo and Tang, Tiffany and Yu, Bin}, volume = {6}, number = {61}, pages = {3192}, doi = {10.21105/joss.03192}, url = {https://doi.org/10.21105/joss.03192}, }
imodels 借助其强大的功能和简洁的使用方法,正在成为机器学习领域中一项重要的工具,帮助用户更好地理解和应用复杂的预测模型。