Python 为什么K交叉验证需要首先进行拟合?

Python 为什么K交叉验证需要首先进行拟合?,python,scikit-learn,cross-validation,Python,Scikit Learn,Cross Validation,除非在SVC上安装,否则以下代码中会出现错误: 此SVC实例尚未安装。用适当的方法称为“适合” 使用此方法之前的参数 除非我这样做: 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 impor

除非在SVC上安装,否则以下代码中会出现错误:

此SVC实例尚未安装。用适当的方法称为“适合” 使用此方法之前的参数

除非我这样做:

 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)

你没有。你的cross_val_分数在没有配合的情况下运行良好


你确实需要在跑步得分前进行调整。

你不需要。你的cross_val_分数在没有配合的情况下运行良好


您确实需要在运行评分之前进行拟合。

您看到错误的原因是,您要求估计员(
clf
)在实际知道如何进行分类之前(使用
clf.score
方法)计算其分类的准确性。要教
clf
如何进行分类,您必须通过调用
fit
方法对其进行训练。这就是错误消息试图告诉您的内容

score
在上述意义上与交叉验证无关,只与准确性有关。您使用的
cross\u val\u score
helper方法可以采用未经培训的估计器,为您的数据计算交叉验证分数。这个助手为您培训估计器,这就是为什么您在使用这个助手之前不必调用
fit


有关更多信息,请参阅。

您看到错误的原因是您要求估计员(
clf
)在实际知道如何进行分类之前(使用
clf.score
方法)计算其分类的准确性。要教
clf
如何进行分类,您必须通过调用
fit
方法对其进行训练。这就是错误消息试图告诉您的内容

score
在上述意义上与交叉验证无关,只与准确性有关。您使用的
cross\u val\u score
helper方法可以采用未经培训的估计器,为您的数据计算交叉验证分数。这个助手为您培训估计器,这就是为什么您在使用这个助手之前不必调用
fit

有关更多信息,请参阅