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

Я новичок в Python, и я пытаюсь выполнить часть курсовой работы, которая включает машины опорных векторов, анализ главных компонентов и классификаторы векторов поддержки затрат.

Во-первых, я сделал точечный график из два набора данных, которые были предоставлены.

Я нормализовал данные и полагал, что разделил данные на меньшие наборы данных с помощью train_test_spilt.

Проблема возникает, когда я использую C -SV C SVM для достижения максимальной скорости классификации данных, собранных на диаграмме рассеяния, путем наложения двух значений в параметрах C (стоимость) и γ (гамма). Код выглядит следующим образом:

svc1 = SVC(kernel ='rbf', class_weight='balanced', C=50, gamma=0.1)
model1 = svc1.fit(scaled_tester, Sytrain)

"""The fitted model should be validated on the scaled validation set. """
vyfit1 = model1.predict(scaled_valX)

"""Performance measurements"""
from sklearn import metrics 
print('Accuracy:', metrics.accuracy_score(vtest, vyfit1))

from sklearn.metrics import classification_report
print(classification_report(vtest, vyfit1,
                            target_names=faces.target_names))

Сообщение об ошибке выглядит следующим образом:

Error:
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-82-9a74f54d417b> in <module>
      1 svc1 = SVC(kernel ='rbf', class_weight='balanced', C=50, gamma=0.1)
----> 2 model1 = svc1.fit(scaled_tester, Sytrain)
      3 
      4 """The fitted model should be validated on the scaled validation set. """
      5 vyfit1 = model1.predict(scaled_valX)

/opt/anaconda3/lib/python3.7/site-packages/sklearn/svm/_base.py in fit(self, X, y, sample_weight)
    146         X, y = check_X_y(X, y, dtype=np.float64,
    147                          order='C', accept_sparse='csr',
--> 148                          accept_large_sparse=False)
    149         y = self._validate_targets(y)
    150 

/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py in check_X_y(X, y, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, multi_output, ensure_min_samples, ensure_min_features, y_numeric, warn_on_dtype, estimator)
    763         y = y.astype(np.float64)
    764 
--> 765     check_consistent_length(X, y)
    766 
    767     return X, y

/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py in check_consistent_length(*arrays)
    210     if len(uniques) > 1:
    211         raise ValueError("Found input variables with inconsistent numbers of"
--> 212                          " samples: %r" % [int(l) for l in lengths])
    213 
    214 

ValueError: Found input variables with inconsistent numbers of samples: [100, 300]

Есть ли кто-нибудь, кто может понять это сообщение об ошибке и сказать мне, где оно идет не так? ?

Большое спасибо, любые вопросы, пожалуйста, дайте мне знать.

...