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

4
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的准确性。有人可以帮我吗?


在这里提及错误将会有所帮助。 - Shridhar R Kulkarni
好的,通过比较测试和训练标签来计算准确性并没有任何意义,首先它们不相关,其次你很可能两者长度都不相同!你的问题在于你覆盖了标签测试的名称,请给它取一个别的名字。 - MMF
2个回答

3
问题在于您混淆了事情。将训练和测试标签进行比较并计算准确度是没有意义的。
请改为执行以下操作:
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' 未定义。 - user269867
我收到了错误信息 ValueError: labels_test 和 yhat_test 的输出数量不同 (2!=1) - taga

0

进行以下更改

predicted = clf.predict(features_test)

acc = accuracy_score(labels_test, predicted)


你能帮我解决这个问题吗? - taga

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接