在scikit-learn决策树中,如何识别导致误分类的决策?

我正在尝试为一个数据集创建决策树,并研究由此产生的混淆矩阵。虽然混淆矩阵告诉我发生了多少次误分类,但它并没有准确告诉我X_train中的哪些特定实例被误分类了。我试图找出这些被误分类的实例,并确定它们最终落在哪个叶节点。我知道可以使用decision_path(),但它并不会告诉我某个特定实例是否被误分类。我的主要目标是找出这些混淆和错误分类的实例最终落在哪里。以下是我的代码:

from sklearn.datasets import load_iris
iris=load_iris()
Y_train=iris.target
X_train=iris.data
clf=tree.DecisionTreeClassifier( max_depth=3, criterion='entropy')
clf.fit(X_train, Y_train)
pred=clf.predict(X_train)
print('Accuracy on test data is %.2f' % (accuracy_score(Y_train, pred)))

回答:

你可以在pred中获得所有预测结果,在Y_train中获得所有训练值

那么你的误分类预测结果就是pred[pred!=Y_train]

如果你想要这些特征,可以使用X_train[pred!=Y_train]

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注