【问题标题】:Getting same accuracy across different classifiers - sklearn在不同的分类器中获得相同的准确度 - sklearn
【发布时间】:2015-06-13 21:31:05
【问题描述】:

我有一个 540 个图像像素的训练集和一个 150 个图像像素的测试集。这些值存储在不同的 csv 文件中,如下所示:

[label],[num0],[num1],...,[num399]

标签是单个字母,400 个是像素值。这套是用于手语识别的。

代码 -

import numpy as np 
import os
import csv
from sklearn import svm
from sklearn import cross_validation
from sklearn import linear_model

path = '/home/goel/skin'


X_train=[]
y_train=[]
X_test=[]
y_test=[]
ylist=[]

with open("20_20_centered_newer.csv",'r') as file:
    reader = csv.reader(file,delimiter=',')
    reader.next()
    for row in file:
        y_train.append(row[0])
        if row[0] not in ylist:
            ylist.append(row[0])        
        row=row[2:]
        row=[int(x) for x in row.split(',')]
        X_train.append(np.array(row))

y2list=[]

with open("20x20_test.csv",'r') as file:
    reader = csv.reader(file,delimiter=',')
    for row in file:
        y_test.append(row[0])
        if row[0] not in y2list:
            y2list.append(row[0])       
        row=row[2:]
        row=[int(x) for x in row.split(',')]
        X_test.append(np.array(row))

print ylist
print y2list

#clf = linear_model.SGDClassifier().fit(X_train,y_train)
#clf = svm.SVC(kernel='linear').fit(X_train,y_train)
#clf = svm.LinearSVC().fit(X_train,y_train)
clf = linear_model.LogisticRegression().fit(X_train,y_train)
print clf.score(X_test,y_test)

显然,我在所有分类器中的得分都相同,均为 0.78,小数点后 12 位!!!

这里是否存在我不知道的语义错误?

【问题讨论】:

  • 分数只是正确标记的测试样本的比例(150*0.78 = 117 正确)。分数与小数点后 12 位相同的事实无关紧要。三个分类器都得到 117/150 的正确率是否合理?也许剩下的 33 个测试用例比其他的要困难得多。目前无法确定,因为您没有向我们提供任何输入数据。
  • 还要检查 150 个标签中的 117 个是否相同。然后,您的分类器可能会简单地学会始终预测最常出现的标签,而不管输入向量如何。
  • 测试中有 2 个标签,训练中有 3 个标签。 @user3760780 不,它们是均匀分布的。
  • 我用 X_train 训练,只有那些在 y_test 中的标签。仍然获得相同的分数。这是文件 - drive.google.com/…

标签: python numpy machine-learning dataset scikit-learn


【解决方案1】:

可能是因为我的课太少了。我重复了 10 个类的实验,经过 5 次交叉验证得到了大约 2% 的差异。

【讨论】:

    猜你喜欢
    • 2022-01-12
    • 2017-10-13
    • 2020-08-23
    • 2019-07-09
    • 2019-08-18
    • 2018-08-18
    • 2020-08-25
    • 2023-03-11
    • 2020-01-10
    相关资源
    最近更新 更多