我得到了下面的代码中的错误,除非我做一个合适的SVC:为什么K-Cross验证需要先适合?
这SVC实例未安装呢。在使用此方法之前,请使用适当的 参数调用'fit'。
除非我这样做:
clf = svm.SVC(kernel='linear', C=1).fit(X_train, y_train)
为什么我需要做一个交叉验证之前做一个合适的?
import numpy as np
from sklearn import cross_validation
from sklearn import datasets
from sklearn import svm
iris = datasets.load_iris()
# Split the iris data into train/test data sets with 40% reserved for testing
X_train, X_test, y_train, y_test = cross_validation.train_test_split(iris.data, iris.target,
test_size=0.4, random_state=0)
# Build an SVC model for predicting iris classifications using training data
clf = svm.SVC(kernel='linear', C=1).fit(X_train, y_train)
# Now measure its performance with the test data
clf.score(X_test, y_test)
# We give cross_val_score a model, the entire data set and its "real" values, and the number of folds:
scores = cross_validation.cross_val_score(clf, iris.data, iris.target, cv=5)