2017-01-18 5 views
0

я получаю сообщение об ошибке в следующем коде, если я не делаю подгонку на 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) 

ответ

0

У вас нет. Ваш cross_val_score отлично работает без подгонки.

Вам нужно подогнать перед запуском оценки.

0

Причина вы видите эту ошибку, потому что вы просите ваш оценщик (clf), чтобы вычислить точность его классификации (с помощью метода clf.score), прежде чем она на самом деле знает, как сделать классификацию. Чтобы научить clf, как сделать классификацию, вам необходимо обучить ее, вызвав метод fit. Это то, что сообщение об ошибке пытается вам рассказать.

score в вышеуказанном смысле не имеет ничего общего с перекрестной проверкой, только с точностью. Вспомогательный метод cross_val_score, который вы используете, может принимать необученный оценщик и вычислить перекрестный довод для вас данных. Этот помощник обучает вам оценку, и поэтому вам не нужно вызывать fit перед использованием этого помощника.

Для получения дополнительной информации см. documentation for cross-validation.

 Смежные вопросы

  • Нет связанных вопросов^_^