每次与分类器的准确性差异?

Posted

技术标签:

【中文标题】每次与分类器的准确性差异?【英文标题】:Each time accuracy differences with classifier? 【发布时间】:2018-11-07 14:11:06 【问题描述】:

每次运行此代码时,准确度都会有所不同。谁能解释一下为什么?我在这里错过了什么吗?在此先感谢:)

下面是我的代码:

import scipy
import numpy
from sklearn import datasets
iris = datasets.load_iris()

X = iris.data
y = iris.target

X_train, X_test, y_train,y_test = train_test_split(X,y, test_size = .5)

# Use a classifier of K-nearestNeibour
from sklearn.neighbors import KNeighborsClassifier
my_classifier = KNeighborsClassifier()

my_classifier.fit(X_train,y_train)
predictions = my_classifier.predict(X_test)
print(predictions)

from sklearn.metrics import accuracy_score
print(accuracy_score(y_test,predictions))

【问题讨论】:

【参考方案1】:

train_test_split 将数据随机拆分为训练集和测试集,因此每次运行脚本时都会得到不同的拆分。如果需要,可以将 random_state 参数设置为某个数字,这样可以确保每次运行脚本时得到相同的拆分:

X_train, X_test, y_train,y_test = train_test_split(X,y, test_size = .5, random_state = 0)

这应该每次都能为您提供0.96 的准确度。

【讨论】:

感谢米海,感谢您的快速回复。是的,现在每次都给我 0.96。

以上是关于每次与分类器的准确性差异?的主要内容,如果未能解决你的问题,请参考以下文章

朴素贝叶斯分类器的准确性?

为啥逻辑回归分类器的准确率与 k 近邻不同? [关闭]

训练期间接近 100% 的准确率,但在图像分类器的测试/验证期间 <50%

OpenCV - 测试分类器的准确性?

如何在python中测量knn分类器的准确性

如何测量随机森林分类器的准确性?