我正在使用skilearn进行SVM培训.我正在使用交叉验证来评估估算器并避免过度拟合模型.
我将数据分成两部分.训练数据和测试数据.这是代码:
import numpy as np
from sklearn import cross_validation
from sklearn import datasets
from sklearn import svm
X_train, X_test, y_train, y_test = cross_validation.train_test_split(
iris.data, iris.target, test_size=0.4, random_state=0
)
clf = svm.SVC(kernel='linear', C=1)
scores = cross_validation.cross_val_score(clf, X_train, y_train, cv=5)
print scores
# Now I need to evaluate the estimator *clf* on X_test.
clf.score(X_test,y_test)
# here, I get an error say that the model is not fitted using fit(), but normally,
# in cross_val_score function the model is fitted? What is the problem?