调试机器学习分类器并解释其预测
eli5的Python项目详细描述
更改日志
0.10.1(2019-08-29)
- 不包括对Python3.5的类型依赖+ 修复Python3.7上的安装
0.10.0(2019-08-21)
- keras图像分类器:用grad-cam解释预测 (GSOC-2019项目,@teabolt)。
0.9.0(2019-07-05)
- CatBoost支持:显示CatBoostClassifier的功能重要性, catboostregressor和catboost.catboost。
- 测试修复:修复scikit学习0.21+,在travis上使用xenial base
- 捕捉错误安装的lightgbm的异常
0.8.2(2019-04-04)
- 固定scikit学习0.21+支持(删除随机线性模型 从scikit learn);
- 修正了pandas.dataframe+xgboost对置换重要性的支持;
- 使用最新版本修复了测试;
- 添加了conda安装说明(conda包由社区维护);
- 教程更新为使用xgboost 0.81;
- 更新文档以使用pandoc 2.x.
0.8.1(2018-11-19)
- 修复了Python3.7支持;
- 增加了对xgboost>;0.6a2;的支持
- 修正了numpy中的折旧警告>;=1.14;
- 文档、类型注释和测试改进。
0.8(2017-08-25)
- 向后不兼容 :带解释的dataframe对象不再 使用索引和透视表,它们现在只是普通的数据帧;
- 增加了检验黑箱模型的新方法 ( eli5置换重要性 );
- transform_feature_names是为sklearn的minmaxscaler实现的, StandardScaler、MaxAbsScaler和RobustScaler;
- 零和负特征重要性不再隐藏;
- 与scikit learn的固定兼容性为0.19;
- 修复了与lightgbm master的兼容性(2.0.5和2.0.6仍然是 不支持-lightgbm中有错误);
- 文档、测试和类型注释改进。
0.7(2017-07-03)
- 更好的pandas.dataframe集成: eli5.explain_weights_df , eli5.解释权重dfs , eli5.解释预测df , eli5.解释预测的dfs , eli5.format\u作为数据帧<;eli5.formatters.as\u dataframe.format\u作为数据帧>; 以及 eli5.format_as_dataframes<;eli5.formatters.as_dataframe.format_as_dataframes>; 函数允许将解释导出到pandas.dataframes;
- eli5.explain_prediction 现在显示二进制文件的预测类 分类器(以前总是显示正类);
- eli5.explain_prediction 现在支持 目标=[<;class>;] 。 对于二进制分类器;例如,显示负类的结果, 您可以使用eli5.explain_prediction(…, targets=[false]) ;
- 支持eli5.解释预测和eli5.解释权重 对于sklearn.svm中基于libsvm的线性估计器: svc(kernel='linear') (仅二进制分类), nusvc(kernel='linear') (仅 二元分类, svr(kernel="线性") , nusvr(kernel="线性") , 一个类支持向量机(kernel="linear") ;
- 修正了python 2中的lightgbm估计器 重要性类型 是"分割"或"权重";
- 测试改进。
0.6.4(2017-06-22)
- 修正了eli5.explain_prediction对于最新的 lightgbm 版本;
- 修正了formatters.html中的Python3不推荐警告;
- 测试改进。
0.6.3(2017-06-02)
- eli5.解释权重 和 eli5.解释预测 与xgboost.booster一起使用,而不仅仅是与类似sklearn的api一起使用;
- eli5.formatters.as_dict.format_as_dict 现在可用作 eli5.格式为dict
- 测试和文档修复。
0.6.2(2017-05-17)
- 可读性 eli5.解释xgboost模型的重量 pandas.dataframe;
- 可读的 eli5.解释lightgbm模型的权重 pandas.dataframe;
- 修正了eli5的问题。解释xgboost的预测 在pandas.dataframe上训练的模型,当要素名称包含点时;
- 测试改进。
0.6.1(2017-05-10)
- 更好的熊猫支持 xgboost、sklearn、lightgbm和lightning。
0.6(2017-05-03)
- 更好的scikit学习eli5中的管道支持。解释权重: 现在可以直接传递管道对象。只能治愈 基于SelectorMin的变压器、FeatureUnion和变压器 支持使用 获取功能名称,但用户可以注册其他 变压器;将扩展支持的变压器的内置列表 将来。有关详细信息,请参见sklearn pipelines。
- 现在在featureunion中支持hashingvectorizer的反转 通过 eli5.sklearn.unshing.invert_hashing_and_fit 。 请参见sklearn unshing
- 与Jupyter笔记本电脑的固定兼容性>;=5.0.0。
- 修正了eli5.解释套索回归的权重 功能,无截获。
- 修复了Python2.x中的清除支持。
- 文档和测试改进。
0.5(2017-04-27)
- lightgbm 支持: eli5.解释预测 和 eli5.解释权重现在支持 lgbmclassifier 和 lgbmregressor (请参见eli5 lightgbm支持库lightgbm>;)。
- 如果所有权重都为零,则固定文本格式;
- 类型检查现在使用最新的mypy;
- 测试安装改进:travis ci现在使用ubuntu 14.04。
0.4.2(2017-03-03)
- 错误修复:如果xgboost可用,eli5应该仍然是可导入的,但是 未正确安装。
0.4.1(2017-01-25)
- 特征贡献计算固定 对于eli5.xgboost.explain_预测xgboost
0.4(2017-01-20)
- eli5.explain_prediction :新的"top_targets"参数允许 只显示得分最高或最低的预测;
- eli5.解释权重 允许自定义功能重要性的方式 使用 重要性类型计算xgbclassifier和xgbregressor 参数(有关 eli5 xgboost支持<;library xgboost>; );
- eli5.解释权重使用xgbclassifier和xgbregressor的增益 默认情况下,特性很重要;此方法更好地指示 正在发生什么,它使结果与功能重要性更兼容 为SCIKIT学习渐变增强方法显示。
0.3.1(2017-01-16)
- 打包修复:scikit learn被添加到setup.py中的install_requires中。
0.3(2017-01-13)
- eli5.解释预测 适用于xgbclassifier、xgbregressor 从XGBoost和ExtraTreesClassifier,ExtraTreesRegressor, GradientBoostingClassifier、GradientBoostingRegressor, 随机森林分类器,随机森林回归器,决策树分类器 以及来自Scikit Learn的DecisionTreeRegressor。 解释方法基于 http://blog.datadive.net/interpreding random forests/
- eli5.explain_weights 现在支持来自 剪子学习:决策者,决策者, GradientBoostingRegressor、RandomForestRegressor和ExtraTreesRegressor。
- eli5.解释加权 适用于xgbregressor;
- 新的 textExplainer<;lime tutorial>; 类允许解释预测 黑盒文本分类管道使用石灰算法; 在 eli5.lime<;eli5 lime>; 中有许多改进
- 更好地支持 eli5.解释预测
- 渲染性能得到改善;
- 当特征 重要性表被截断;
- 功能重要性表的样式设置是固定的;
- eli5.解释权重 和 eli5.解释预测 支持 更多的线性估计器从scikit学习:huberregressor,larscv,lassocv, 套索,套索,套索,正交匹配追踪, 正交匹配追踪,被动回归, 脊分类器,脊分类器,轮廓回归器。
- 更改了基于文本的决策树格式:对于二进制 分类树只打印"真"类的概率, 不是像以前那样两种可能性都有。
- eli5.解释权重 除此之外还支持功能过滤器 为过滤功能和eli5解释预测功能。 现在也支持这两个参数;
- 在的输出中将"weight"列重命名为"contribution" eli5.解释预测
- 新的格式化程序参数允许显示 输入功能值;
- 修复了Analyzer在 文本.
0.2(2016-12-03)
- xgbclassifier支持(来自xgboost 套餐);
- eli5.解释权重支持sklearn onevsrestclassifier;
- 特征重要性的标准偏差不再打印为零 如果不可用。
0.1.1(2016-11-25)
-
包装袋ng修复:需要attrs>;16.0.0,修复自述文件渲染
0.1(2016-11-24)
- HTML输出;
- IPython集成;
- json输出;
- scikit学习文本矢量器的可视化;
- sklearn-crfsuite 支持;
- 闪电 支持;
- eli5.显示权重 和 eli5.显示预测 函数;
- eli5.解释权重 和 eli5.解释预测 函数;
- eli5.lime<;eli5 lime>; 改进:非文本数据的采样器, 错误修复,文档;
- 回归任务支持hashingvectorizer;
- 性能改进-功能名称很懒;
- sklearn elasticnetcv和ridgecv支持;
- 现在可以自定义格式化输出-显示/隐藏节, 更改布局;
- sklearn onevsrestclassifier支持;
- sklearn decisiontreeclassifier可视化(基于文本或基于svg);
- 不再支持scikit learn<;0.18;
- 基本mypy类型注释;
- feature\u re 参数只允许显示功能的子集;
- 目标名称 参数允许更改目标/类的显示名称;
- targets 参数允许显示目标/类的子集 更改显示顺序;
- 文档,更多示例。
0.0.6(2016-10-12)
- eli5.sklearn.invertablehashingvectorizer中的候选功能 按频率排序,第一个候选始终为正。
0.0.5(2016-09-27)
- explain_prediction;中的hashingvectorizer支持
- 添加一个选项来传递系数缩放数组;它很有用 如果要比较缩放或符号特征的系数 输入不同;
- 错误修复:eli5函数不再更改分类器权重。
0.0.4(2016-09-24)
- eli5.sklearn.invertablehashingvectorizer和 eli5.sklearn.featureunhasher允许恢复 使用hashingvectorizer或featurehasher的管道;
- 增加了对scikit学习线性回归模型(elasticnet, 拉尔斯、套索、线划、线划、里奇、斯格德雷格森);
- doc和vec参数在explain_prediction函数中交换; 如果示例已经矢量化,现在可以省略vec;
- 修正了密集特征向量的问题;
- 所有类名称参数都重命名为目标名称;
- SCIKIT学习集成估计器的功能名称猜测是固定的;
- 测试改进。
0.0.3(2016-09-21)
- 使用石灰支持任何黑盒分类器( http://arxiv.org/abs/1602.04938 ) 算法;内置文本数据支持;
- sklearn.explain_prediction的"矢量化"参数;它允许传递 已矢量化的示例;
- 允许显式传递功能名称;
- 使用自动生成的方法支持没有get-feature-names方法的分类器 功能名称。
0.0.2(2016-09-19)
- 解释预测的"top"参数 可以是元组(num_正,num_负);
- 默认情况下不再打印分类器名称;
- 添加eli5.sklearn.explain_prediction以解释单个示例;
- 修正了numpy警告。
0.0.1(2016-09-15)
预发布。