Каждый раз разница в точности с классификатором? - PullRequest
0 голосов
/ 29 мая 2018

Каждый раз, когда я запускаю этот код, точность получается разной.Может кто-нибудь объяснить, почему?Я что-то здесь упускаю?Заранее спасибо:)

Ниже мой код:

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 Ответ

0 голосов
/ 29 мая 2018

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 каждый раз.

...