【发布时间】:2019-12-27 21:33:03
【问题描述】:
代码很简单,并且有几个与此事相关的问题,但我对 python 的了解几乎为零,所以我不知道它是如何工作的。我正在尝试绘制我的 GridSearchCV 结果。 阅读文档没有帮助:https://docs.scipy.org/doc/numpy/reference/generated/numpy.reshape.html
from sklearn import svm, datasets
from sklearn.model_selection import GridSearchCV
clf = GridSearchCV(estimator=svm.SVC(),
param_grid={'C': [1, 10], 'gamma': [0.001, 0.0001], 'kernel': ('linear', 'rbf')}, cv=10, n_jobs=None)
clf.fit(X_train, Y_train)
scores = [x[1] for x in clf.cv_results_]
print np.array(scores).shape # outputs: (33L,)
scores = np.array(scores).reshape(len([1, 10]), len([0.001, 0.0001]))
for ind, i in enumerate([1, 10]):
plt.plot([0.001, 0.0001], scores[ind])
plt.legend()
plt.xlabel('Gamma')
plt.ylabel('Mean score')
plt.show()
输出错误:
scores = np.array(scores).reshape(len([1, 10]), len([0.001, 0.0001]))
ValueError: cannot reshape array of size 33 into shape (2,2)
为什么会发生这种情况,我该如何解决?
【问题讨论】:
标签: python matplotlib grid-search