【问题标题】: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这个名字,叫它别的名字

标签: machine-learning classification decision-tree floating-accuracy


【解决方案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)

【讨论】:

猜你喜欢
  • 2018-04-11
  • 2019-07-19
  • 2020-10-23
  • 2021-10-16
  • 2018-10-20
  • 2017-10-05
  • 2021-06-17
  • 2021-09-23
  • 1970-01-01
相关资源
最近更新 更多