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

Each time accuracy differences with classifier?

每次我 运行 这段代码时,准确度都不同。任何人都可以解释为什么吗?我在这里错过了什么吗?提前致谢:)

下面是我的代码:

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 的准确度。