Что такое противоречивое количество образцов? - PullRequest
0 голосов
/ 23 марта 2020

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

import sklearn
from sklearn import datasets
from sklearn import svm
digits = datasets.load_digits()
clf = svm.SVC(gamma=0.001,C=100)
X,Y = digits.data[:-1],digits.target[:-1]
X_mod  = X.reshape(-1,1)
Y_mod = Y.reshape(-1,1)

clf.fit(X_mod,Y_mod)
print("prediction is: ",clf.predict([-1]))

Ниже показана ошибка, которая показывает, что делать?

ValueError: Found input variables with inconsistent numbers of   samples: [114368, 1787]

1 Ответ

0 голосов
/ 23 марта 2020

Вы неправильно подбираете модель, попробуйте следующий код, чтобы соответствовать модели:

from sklearn import datasets
from sklearn import svm
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report

#Load the digits dataset 
digits = datasets.load_digits()

#Create train-test split for accuracy validation purpose 
X_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size = 0.2, random_state = 0)

#Create a Support Vector Classifier placeholder
clf = svm.SVC(gamma=0.001,C=100)

#Fit the model on train data
clf.fit(X_train, y_train)

#Model score on train data
clf.score(X_train, y_train)

#Make predictions on test data
predictions = clf.predict(X_test)

#Print train, test accuracy
print('Train accuracy %s' % clf.score(X_train, y_train))
print('Test accuracy %s' % accuracy_score(predictions, y_test))

#Create confusion matrix and classification report
print(confusion_matrix(y_test, predictions))
print(classification_report(y_test, predictions))

Подробнее о Confusion Matrix и Classification Report

...