Как обновить модель логистической регрессии?
Я обучил модель логистической регрессии. Теперь я должен обновить (частично подогнать) модель новым набором данных тренировки. Является ли это возможным?
1 ответ
Вы не можете использовать partial_fit
на LogisticRegression
,
Но вы можете:
- использование
warm_start=True
, которые повторно используют решение предыдущего вызова, чтобы соответствовать как инициализация, чтобы ускорить сходимость. - использование
SGDClassifier
сloss='log'
что эквивалентноLogisticRegression
и который поддерживаетpartial_fit
,
Обратите внимание на разницу между partial_fit
а также warm_start
, Оба метода начинаются с предыдущей модели и обновляют ее, но partial_fit
обновляет лишь немного модель, в то время как warm_start
проходит весь путь к сближению на новых тренировочных данных, забывая предыдущую модель. warm_start
используется только для ускорения конвергенции.
Смотрите также глоссарий:
warm_start
При многократной подгонке оценщика к одному и тому же набору данных, но для нескольких значений параметров (например, чтобы найти значение, максимизирующее производительность, как при поиске по сетке), может оказаться возможным повторно использовать аспекты модели, извлеченные из предыдущего значения параметра, что экономит время. когда
warm_start
Это правда, существующие атрибуты подогнанной модели используются для инициализации новой модели при последующем вызовеfit
,Обратите внимание, что это применимо только для некоторых моделей и некоторых параметров, и даже некоторых порядков значений параметров. Например,
warm_start
может использоваться при построении случайных лесов, чтобы добавить больше деревьев в лес (увеличиваяn_estimators
) но не уменьшать их количество.
partial_fit
также сохраняет модель между вызовами, но отличается: сwarm_start
параметры меняются и данные (более или менее) постоянны между вызовами, чтобы соответствовать; сpartial_fit
мини-пакет изменений данных и параметров модели остается неизменным.Есть случаи, когда вы хотите использовать
warm_start
вписаться в разные, но тесно связанные данные. Например, можно изначально подогнать подмножество данных, а затем точно настроить поиск параметров по полному набору данных. Для классификации все данные в последовательностиwarm_start
звонки вfit
должны включать образцы из каждого класса.
__
partial_fit
Облегчает подгонку оценщика в режиме онлайн. В отличие от
fit
неоднократно звонилpartial_fit
не очищает модель, но обновляет ее с учетом предоставленных данных. Часть данных, предоставленныхpartial_fit
можно назвать мини-партией. Каждая мини-партия должна быть одинаковой формы и т. Д.
partial_fit
также может использоваться для неосновного обучения, хотя обычно ограничивается случаем, когда обучение может быть выполнено в режиме онлайн, то есть модель может использоваться после каждой частичной подгонки, и для завершения модели не требуется отдельной обработки.cluster.Birch
вводит соглашение о том, что вызовpartial_fit(X)
создаст модель, которая не завершена, но модель может быть завершена путем вызоваpartial_fit()
т.е. без прохождения дальнейшей мини-партии.Как правило, параметры оценки не должны быть изменены между вызовами
partial_fit
, хотяpartial_fit
следует проверить их, а также новый мини-пакет данных. По сравнению,warm_start
используется для многократного подбора одного и того же оценщика с теми же данными, но с разными параметрами.