Как предсказать метки для новых данных (набор тестов) с помощью модели PartitionedEnsemble в Matlab?

Я обучил ансамблевую модель (RUBoost) для задачи бинарной классификации с помощью функции fitensemble() в Matlab 2014a. Обучение этой функцией выполняется с 10-кратной перекрестной проверкой через входной параметр "kfold" функции fitensemble().

Однако модель вывода, обученную этой функцией, нельзя использовать для прогнозирования меток новых данных, если я использую predict(model, Xtest). Я проверил документы Matlab, в которых говорится, что мы можем использовать функцию kfoldPredict() для оценки обученной модели. Но ввода новых данных через эту функцию я не нашел. Кроме того, я обнаружил, что структура обученной модели с перекрестной проверкой отличается от структуры модели без перекрестной проверки. Итак, может ли кто-нибудь посоветовать мне, как использовать модель, обученную с перекрестной проверкой, для прогнозирования меток новых данных? Спасибо!


person Zhi Lu    schedule 16.06.2015    source источник


Ответы (1)


kfoldPredict() требуется объект RegressionPartitionedModel или ClassificationPartitionedEnsemble в качестве входных данных. Он уже содержит модели и данные для перекрестной проверки kfold.
Объект RegressionPartitionedModel имеет поле Trained, в котором хранятся обученные учащиеся, используемые для перекрестной проверки. Вы можете взять любого из этих учеников и использовать его как predict(learner, Xdata).

Редактировать:

Если k слишком велико, возможно, что в одной или нескольких итерациях слишком мало значимых данных, поэтому модель для этой итерации менее точна. Для k нет общих правил, но k=10, как в MATLAB по умолчанию, является хорошей отправной точкой, чтобы поэкспериментировать с ним. Возможно, вам это тоже будет интересно: https://stats.stackexchange.com/questions/27730/choice-of-k-in-k-fold-cross-validation

person Community    schedule 26.06.2015
comment
Спасибо! Еще один вопрос. Обладает ли какая-либо из этих моделей в области Обучение той же эффективностью (способностями) классификации, что и остальные модели в этой области? То есть могу ли я подобрать любую из моделей из поля Обученные? - person Zhi Lu; 27.06.2015
comment
Нет, производительность не обязательно одинакова. Это зависит от ваших данных и вашего выбора k в перекрестной проверке kfold. - person ; 27.06.2015
comment
Не могли бы вы подробнее объяснить, как k и данные влияют на результаты? Чем больше k и больше данных, тем лучше? Спасибо! - person Zhi Lu; 29.06.2015
comment
Вы видели мой обновленный ответ? У вас есть еще вопросы? Если вы считаете мои ответы полезными, я буду рад, если вы примете мой ответ с зеленой галочкой :) - person ; 01.07.2015