Я работаю над основами машинного обучения с набором данных iris. Мне кажется, я понимаю идею разделения данных и прогнозирования новых данных; Однако у меня возникают проблемы с пониманием результатов, которые я получаю для кода ниже: iris = load_iris ()
X = iris.data
y = iris.target
len(X)--result: 150
X_train, X_test, y_train, y_test = train_test_split( X, y, random_state=5)
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(X_train, y_train)
y_pred = knn.predict(X_test)
print(y_pred)
print(metrics.accuracy_score(y_test, y_pred))
Результат: [1 2 2 0 2 1 0 2 0 1 1 2 2 2 0 0 2 2 0 0 1 2 0 2 1 2 1 1 1 2 0 1 1 0 1 0 0 2] Точность 0,95%
Я получаю только 38 результатов. Из того, что я понимаю, данные разбиты на 50 50 кусков, что означает, что я должен получить 50 результатов для данных, не являющихся частью поезда и тестовых данных. Почему я получаю только 38?
Мне кажется, что мой самый большой вопрос, касающийся машинного обучения, заключается в использовании этой модели.