Используя scikit, научитесь предсказывать хороший контент на веб-сайте

У меня есть данные за год с веб-сайта. Я хотел бы обучить алгоритм машинного обучения прогнозировать успех нового контента на основе определенных переменных (например, количества слов, времени публикации и т. д.).

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

Кроме того, я хотел бы продолжать добавлять будущие данные в тренировочный набор и постоянно тренировать алгоритм, чтобы со временем он становился умнее.

Мой вопрос: как мне использовать scikit-learn для этого?


person user1366947    schedule 01.05.2012    source источник


Ответы (1)


У вас есть проблема бинарной классификации, т.е. вы должны решить, является ли данный ввод хорошим или нет.

Попробуйте различные алгоритмы регрессии, scikits-learn позволяет очень легко переключать алгоритмы, позволяя вам увидеть, что работает, а что нет.

На мой взгляд, вот несколько методов, которые я бы попробовал:

  • SVM
  • Случайные леса (Лес рандомизированных деревьев в scikits)
  • Регрессия (Ридж, Лассо, IRLS, логистика)
  • Наивный Байес
  • k ближайших соседей

Как оценить качество того или иного метода? Используйте перекрестную проверку (сделайте это в 10 раз, если у вас достаточно данных, и в 5 раз в противном случае). Этому посвящен полный раздел (5.1) руководства scikits-learn.

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

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

Если вам нужен пример кода, документ scikit-learn очень полезен: - http://scikit-learn.org/0.10/auto_examples/linear_model/logistic_l1_l2_sparsity.html#example-linear-model-logistic-l1-l2-sparsity-py - http://scikit-learn.org/0.10/modules/linear_model.html#ridge-regression

http://scikit-learn.org/0.10/user_guide.html

person cpa    schedule 07.05.2012
comment
Вместо того, чтобы читать документацию для 0.10, вы должны прочитать последнюю стабильную документацию по адресу scikit-learn.org/stable или документ для версии для разработчиков, если вы собираете scikit-learn из основной ветки, размещенной на github: scikit-learn .org/dev - person ogrisel; 24.06.2012