繁体   English   中英

混淆矩阵-不会随着预测模型而改变(Sklearn)

[英]Confusion Matrix - Not changing with predictive models (Sklearn)

我有3个预测模型,并且正在使用混淆矩阵评估那里的表现。 对于3个模型中的每一个,混淆矩阵的结果都相同。 我希望不同的模型会产生不同的效果,并产生不同的混淆矩阵。 我是预测建模的新手,因此怀疑我犯了“新手错误”。 我使用完整的脚本坐在Jupyter笔记本GitHub上这里

以下是这三种型号的代码的屏幕截图

有人可以指出出什么问题吗? 干杯迈克

在此处输入图片说明

如前所述:对测试数据进行预测。 但是请记住,您的目标是倾斜的! 因此,请使用StratifiedKFolds或类似的方法。

另外,我猜您的数据有些损坏。 尽管所有模型都显示相同的结果,但这可能是一个很大的错误。

几个问题/建议:1.您是否扩展了数据? 2.您是否使用过一次热编码? 2.使用“不是决策树”,而是使用“森林/ XGBoost”。 易于与DT过度匹配。 3.不要在NN中使用> 2个隐藏层,因为它也很容易过拟合。 首先使用2。 而您的具有两个目标类的体系结构(30、30、30)似乎很奇怪。 4.如果您想使用> 2个隐藏层-转到Keras或TF。 您会发现许多功能可以帮助您避免过拟合。

这仅仅是因为您使用相同的训练数据来进行预测。 由于您的模型已经根据进行预测的相同数据进行训练,因此它们将返回相同的结果(最终返回相同的混淆矩阵)。 您需要将数据集分为训练集和测试集。 然后在训练集上训练您的分类器,并对测试集进行预测。

您可以在Sklearn中使用train_test_split将数据集拆分为训练或测试集。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM