python - 每次分类器的准确度差异?

标签 python machine-learning scikit-learn classification supervised-learning

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

下面是我的代码:

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))

最佳答案

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

关于python - 每次分类器的准确度差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50575580/

相关文章:

python - 什么是 pyximport,我应该如何使用它?

python - Pybrain 神经网络 : _convertToOneOfMany error

machine-learning - 关于神经网络权重向量的一般查询

tensorflow - 如何使用 LabelBinarizer 解决 2 标签问题?

python - 将模型状态从内存或python opencv中的字符串加载到FaceRecognizer

python - 放心等同于 Python for Rest API 自动化测试

python-3.x - GridSearchCV 给出的结果与 LassoCV 的最佳 alpha 不同

scikit-learn - scikit学习kmeans聚类中参数 'verbose'的定义是什么

python - 来自其他字典值的最大键在 Python 中的函数

c# - AdaBoost 反复选择相同的弱学习器