ValueError: Найдены входные переменные с непоследовательным количеством выборок: [559, 140] - PullRequest
0 голосов
/ 04 марта 2019

Вот код ниже ... Я не знаю, что не так с моим кодом.Пожалуйста, помогите.ошибка происходит в строке clf.fit (X_train, y_train)

import numpy as np
from sklearn import preprocessing, neighbors
import pandas as pd
from sklearn.model_selection import train_test_split 

df = pd.read_csv('breast-cancer-wisconsin.txt')
df.replace('?', -99999, inplace=True)
df.drop(['id'], 1, inplace=True)    

X = np.array(df.drop(['class'],1)) 
y = np.array(df['class'])

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

clf = neighbors.KNeighborsClassifier()

print(X_train.shape)
print(y_train.shape)

clf.fit(X_train, y_train)

accuracy = clf.score(X_test, y_test)
print (accuracy)

1 Ответ

0 голосов
/ 04 марта 2019

Проблема в вашей X_train, y_train, X_test, y_test = train_test_split (X, y, test_size = 0.2) части.

Согласно документации scikit-learn в здесь , правильный порядок возвращаемого значения функции train_test_split :

  • X_train,
  • X_test,
  • y_train,
  • y_test

Ваш заказ в коде неправильный.Давайте заменим строку, которую вы использовали ** train_test_split **, на эту строку:

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

Надеюсь, это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...