【发布时间】:2016-07-18 11:46:29
【问题描述】:
我在一些数据上使用 RBF SVM。我的y数据(类)如下:
print len(y),y
返回:
120 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1]
然而,当我运行此代码来绘制学习曲线时,我得到一个值错误,声称只有一个类 更新:错误有所改变,请检查 cmets:
from sklearn.learning_curve import learning_curve
CV = cross_validation.StratifiedKFold(y, n_folds=10, shuffle = True)
def plot_learning_curve(estimator, title, X, y, ylim=None, cv=CV,
n_jobs=1, train_sizes=np.linspace(.1, 1.0, 5)):
plt.figure()
train_sizes, train_scores, test_scores = learning_curve(
estimator, X, y, cv=cv, n_jobs=n_jobs, train_sizes=train_sizes)
plt.grid()
return plt
title = "Learning Curves (SVM, RBF kernel)"
plot_learning_curve(clf, title, val, y, cv=CV, n_jobs=1)
plt.show()
编辑:对代码进行一些更改后,在一些 cmets 之后,我更新了此处看到的代码
更新:现在这是错误的当前状态:
ValueError: The number of classes has to be greater than one; got 1
【问题讨论】:
标签: python-2.7 machine-learning scikit-learn svm