Требуется пояснение для функции cross_val_score в sklearn - PullRequest
0 голосов
/ 11 июня 2018

Я использую функцию cross_val_score с функцией LeaveOneOut, так как мои данные имеют 60 выборок.

Я запутался в том, как cross_val_score вычисляет результаты для каждой оценки в перекрестной проверке Leave One Out (LOOCV).

В LOOCV, например, он подходит, скажем, классификатору деревьев решений (DTC), моделирует с использованием 59 выборок для обучения и прогнозирует оставшуюся одну.

Тогда главный вопрос заключается в следующем: соответствует ли новая модель в каждом экземпляре (а именно 60 различных подгонок) внутри cross_val_score?

Если это так, все становится запутанным.

Тогда у меня может быть средняя оценка точности (из 60) для оценки производительности.Но мне нужно придумать лучшую модель DTC в целом, а не только для моих собственных данных, хотя она основана на моих данных.

Если я использую все данные, она идеально подходит, но эта модель просто переизбыточнаподходит.

Я хочу иметь единую модель DTC, которая в целом лучше всего работает на основе моих данных.

Вот мой код, если это имеет смысл:

    model = DecisionTreeClassifier(random_state=27, criterion='gini', max_depth=4, max_features='auto' )
    loocv = LeaveOneOut()
    results = cross_val_score(model, X, y, cv=loocv)

1 Ответ

0 голосов
/ 11 июня 2018

Я не совсем понимаю, что вы хотите узнать.

Подходит ли новая модель в каждом экземпляре (а именно 60 различных подгонок) внутри cross_val_score? `

Да, в вашем случае.Какой дополнительный вопрос поможет прояснить путаницу, которая возникает у вас в таком случае?

Идея CV заключается в том, что можно получить оценку производительности выбранной вами процедуры построения модели .Окончательная модель может (и должна извлечь наибольшую пользу из данных) быть построенной на полном наборе данных.Затем вы можете использовать его для прогнозирования тестовых данных, и вы можете использовать свой результат cross_val_score, чтобы получить оценку производительности для этой модели.Более подробный ответ, а также очень полезные ссылки см. В моем предыдущем ответе .

Мой ответ относится к большему набору данных.Могут быть неприятности, связанные с обработкой небольших наборов данных, о которых я не знаю, но я не понимаю, почему логика не обобщает этот случай.

...