【发布时间】:2018-02-10 07:43:28
【问题描述】:
这是我的代码:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import fetch_mldata
from sklearn import neighbors
from sklearn.model_selection import train_test_split
mnist = fetch_mldata('MNIST original')
sample = np.random.randint(70000, size=5000)
data = mnist.data[sample]
target = mnist.data[sample]
xtrain, xtest, ytrain, ytest = train_test_split(data, target, train_size=0.8)
knn = neighbors.KNeighborsClassifier(n_neighbors=3)
knn.fit(xtrain, ytrain)
error = 1 - knn.score(xtest, ytest)
print('Erreur: %f' % error)
当我运行“python numb.py”时,我收到此消息错误:
File "/anaconda/lib/python2.7/site-packages/sklearn/metrics/classification.py", line 88, in _check_targets
raise ValueError("{0} is not supported".format(y_type))
ValueError: multiclass-multioutput is not supported
【问题讨论】:
-
sklearn 评分功能只支持一维输出,mnist 数据是图像,因此是二维的。您可以尝试使输出变平
-
@gionni 已经由 fetch_mldata 完成了展平。
-
没注意到那一行,抱歉
标签: python arrays numpy scikit-learn