ValueError: Найдены входные переменные с несовместимым количеством выборок: [100, 300] - PullRequest
1 голос
/ 23 февраля 2020

Я учил КНН от Удемы. Набор данных загружается из здесь .

Когда я пытаюсь запустить следующий код:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

dataset = pd.read_csv('Social_Network_Ads.csv')
x = dataset.iloc[:, [2, 3]].values
y = dataset.iloc[:, 4:].values

from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25, random_state=0)

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
x_train = sc.fit_transform(x_train)
x_test = sc.transform(x_test)

from sklearn.neighbors import KNeighborsClassifier
classifier = KNeighborsClassifier(n_neighbors=5, metric='minkowski', p=2)
classifier.fit(x_train, y_train.ravel())

y_pred = classifier.predict(x_train)

from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, y_pred)

Я получил ошибку как:

Traceback (последний вызов был последним): Файл "/ home / ashutosh / Папка шаблонов AZ машинного обучения / Часть 3 - Классификация / Раздел 15 - K-ближайшие соседи (K-NN) / knn (1) .py", строка 24 , в см = confusion_matrix (y_test, y_pred)

Файл "/home/ashutosh/.local/lib/python3.7/site-packages/sklearn/metrics/_classification.py", строка 268, в confusion_matrix y_type, y_true, y_pred = _check_targets (y_true, y_pred)

Файл "/home/ashutosh/.local/lib/python3.7/site-packages/sklearn/metrics/_classification.py" , строка 80, в _check_targets check_consistent_length (y_true, y_pred)

Файл "/home/ashutosh/.local/lib/python3.7/site-packages/sklearn/utils/validation.py", строка 212, в check_consistent_length "samples:% r"% [int (l) для l в длинах])

ValueError: Найдены входные переменные с несовместимым числом выборок: [100, 300]

1 Ответ

0 голосов
/ 23 февраля 2020

Измените строку:

y_pred = classifier.predict(x_train)

на:

y_pred = classifier.predict(x_test)

и все в порядке на go.

...