【问题标题】:Classifier - Acurracy with no class labels in testing set分类器 - 测试集中没有类标签的准确度
【发布时间】:2018-04-15 02:18:09
【问题描述】:

我想制作一个决策树分类器来预测我的测试集中的“目标”值(“制造”或“错过”),然后计算分类器的准确度。

标题: 位置,w,final_margin,shot_number,period,game_clock,shot_clock, 运球,touch_time,shot_dist,pts_type,close_def_dist, 目标

这是训练集的一部分:

H,W,13,3,1,399,11.1,0,3.7,0.5,2,1,错过 A,L,-12,6,2,369,6.8,0,3.2,16.3,2,5.9,制造 A,L,-4,2,2,449,24,1,1.6,4.9,2,1.5,错过 A,W,12,7,3,436,16.1,0,1.1,20.2,2,5,错过 A,W,4,16,4,253,14,5,5.5,8.1,2,3,错过 A,L,-19,12,3,359,6.6,2,3.6,7.3,2,2.8,制造

部分测试集:

H,W,12,16,3,161,11,5,4.6,6.5,2,2.3 H,W,4,3,1,343,15.3,0,0.7,3.1,2,2.7 A,L,-27,2,1,318,15.6,0,1,24.5,3,5 A,L,-6,5,2,253,16.7,7,7.9,3,2,1.1 A,W,2,4,1,365,12.8,1,2.8,4.3,2,2.3

我得到了这个计算精度的方法:

def accuracy_metric(actual, predicted):
    correct = 0
    for i in range(len(actual)):
        if actual[i] == predicted[i]:
            correct += 1
    return correct / float(len(actual)) * 100.0

如您所见,我在测试集中没有实际值/类标签,那么在预测测试集的类标签后如何计算分类器的准确度?

【问题讨论】:

  • 你知道吗,你不能这样计算准确度。尝试将你拥有的训练集分成测试集和训练集然后找到准确度。要找到没有实际目标的预测目标的准确度是毫无意义。

标签: python classification decision-tree


【解决方案1】:

你不能 - 准确度测试的整个概念是将预测值与实际值进行比较。如果缺少两者之一,则计算这样的指标本质上是不可能的。

您要做的是将已经有标签的数据拆分为训练和测试部分,然后您可以计算准确度指标。

如果您没有编写自己的拆分器,您可能想查看sklearn.model_selection.train_test_split

【讨论】:

  • 好吧,我想是这样,但是因为我们得到了一个任务来预测给定测试集的值,所以我很困惑,但是我只会拆分训练集。谢谢你:)
猜你喜欢
  • 2019-08-20
  • 2016-01-12
  • 2020-08-06
  • 2014-11-24
  • 2023-03-27
  • 2020-10-29
  • 2017-03-13
  • 2018-05-25
  • 2018-10-01
相关资源
最近更新 更多