【问题标题】:What is inconsistent number of samples?什么是不一致的样本数?
【发布时间】:2020-03-23 15:43:02
【问题描述】:

Ian 处理机器学习问题,这是我第一次处理机器学习问题并显示错误。以下是我的代码。

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]

【问题讨论】:

标签: python machine-learning scikit-learn


【解决方案1】:

您没有正确拟合模型,请尝试以下代码来拟合模型:

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 MatrixClassification Report的信息

【讨论】:

    猜你喜欢
    • 2019-06-21
    • 2022-08-14
    • 2011-12-14
    • 2021-04-04
    • 2022-06-14
    • 1970-01-01
    • 1970-01-01
    • 2013-12-16
    • 2016-05-16
    相关资源
    最近更新 更多