腌制随机森林模型的混淆矩阵

Posted

技术标签:

【中文标题】腌制随机森林模型的混淆矩阵【英文标题】:confusion matrix of pickled random forest model 【发布时间】:2021-07-08 14:21:08 【问题描述】:

是否可以仅使用保存为 pickle-dump 的模型重新构建袋外验证的完整混淆矩阵?

mymodel.oob_score_ 报告的 OOB 分数为 0.75682

我发现here 可以像这样提取此模型的预测标签:

pred_train = numpy.argmax(mymodel.oob_decision_function_,axis=1)

但是火车标签是否也保存在模型文件中的某个地方?

【问题讨论】:

【参考方案1】:

这取决于您使用pickle.dump() 导出的内容,但一般情况下,如果您只导出随机森林,则不会。

sklearn.ensemble.RandomForestClassifier 只有these attributes,而基本事实不是其中之一。

oob_decision_function 仅存储一个大小为 (n_samples, n_classes) 的数组,因此您无法从那里获取它们。没有其他属性可以存储 oob 基本事实。

【讨论】:

以上是关于腌制随机森林模型的混淆矩阵的主要内容,如果未能解决你的问题,请参考以下文章

R语言使用randomForest包构建随机森林模型(Random forests)使用importance函数查看特征重要度使用table函数计算混淆矩阵评估分类模型性能包外错误估计OOB

随机森林 - “完美”的混淆矩阵

R语言编写自定义函数计算分类模型评估指标:准确度特异度敏感度PPVNPV数据数据为模型预测后的混淆矩阵比较多个分类模型分类性能(逻辑回归决策树随机森林支持向量机)

R语言使用party包中的cforest函数基于条件推理决策树(Conditional inference trees)构建随机森林使用varimp函数查看特征重要度使用table函数计算混淆矩阵

10个交叉折叠的混淆矩阵 - 如何做到pandas dataframe df

H2O 上的混淆矩阵