决策树分类器的准确度得分

Posted

技术标签:

【中文标题】决策树分类器的准确度得分【英文标题】:Accuracy score of a Decision Tree Classifier 【发布时间】:2018-08-18 16:27:23 【问题描述】:
import sys
from class_vis import prettyPicture
from prep_terrain_data import makeTerrainData
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score

import numpy as np
import pylab as pl

features_train, labels_train, features_test, labels_test = makeTerrainData()
X = features_train
Y = labels_train
clf = DecisionTreeClassifier()
clf = clf.fit(X,Y)
labels_test = clf.predict(features_test)

acc = accuracy_score(labels_test, labels_train)

我无法使用上述代码计算 DecisionTreeClassifier 的准确性。 有人可以帮我解决这个问题吗?

【问题讨论】:

此处提及错误会有所帮助。 嗯,通过比较测试和火车的标签来计算准确度并没有任何意义,首先,它们不相关,其次你很可能甚至没有相同的长度对彼此而言!你的问题是你覆盖了labels_test这个名字,叫它别的名字 【参考方案1】:

问题是你把事情搞混了。计算比较训练和测试标签的准确性没有任何意义。

改为执行以下操作:

features_train, labels_train, features_test, labels_test = makeTerrainData()
X = features_train
Y = labels_train
clf = DecisionTreeClassifier()
clf = clf.fit(X,Y)
# Here call it somehing else!
yhat_test = clf.predict(features_test)
# Compute accuracy based on test samples
acc = accuracy_score(labels_test, yhat_test)

【讨论】:

全局名称'accuracy_score'未定义 我收到错误ValueError: labels_test and yhat_test have different number of output (2!=1)【参考方案2】:

进行此更改

预测 = clf.predict(features_test)

acc = accuracy_score(labels_test, predict)

【讨论】:

有什么方法可以帮助我解决这个问题吗? ***.com/questions/56622349/…

以上是关于决策树分类器的准确度得分的主要内容,如果未能解决你的问题,请参考以下文章

用 Python 检查决策树分类器的准确性

决策树如果数据集不够多,会导致分类准确率低吗

模型测试的时机和决策树分类器的训练

基于python的决策树能进行多分类吗

使用 sklearn 的决策树分类器 100% 准确率

机器学习分类器的主要假设(LG、SVM 和决策树)