Асимметричная регуляризация в библиотеках машинного обучения (например, scikit) в python

Проблема требует от меня упорядочения весов выбранных объектов при обучении линейному классификатору. Я использую Python SKlearn.

Много гуглив о включении асимметричной регуляризации для классификаторов в SKlearn, я не смог найти никакого решения. Основная функция библиотеки, которая выполняет эту задачу, предоставляется как библиотека DLL для окон, поэтому изменение существующей библиотеки невозможно.

Есть ли какая-нибудь библиотека машинного обучения для python с такой гибкостью? Любая помощь будет оценена.

2 ответа

Чтобы изменить библиотеку, вы должны загрузить исходный код (например, из репозитория github проекта: https://github.com/scikit-learn/scikit-learn), а затем установить требования к сборке (например, компилятор C/C++ для ваша платформа).

Вот инструкции по сборке для Windows:

В зависимости от объема данных, который у вас есть, и от того, какой классификатор вы хотели бы использовать, может быть проще реализовать потерю, а затем использовать стандартный решатель, такой как lbfgs или newton, или выполнить стохастический градиентный спуск, если у вас много данных.

Использование простого пользовательского решателя, скорее всего, будет гораздо медленнее, чем использование кода scikit-learn, но также будет гораздо проще в написании. В частности, если вы, например, после логистической регрессии, вам нужно будет углубиться в код LibLinear C. С другой стороны, я почти уверен, что вы можете реализовать его в ~10 строках Python, используя lbfgs неоптимизированным способом.

Другие вопросы по тегам