Есть ли рекомендованный пакет для машинного обучения в Python?

Есть ли рекомендованный пакет для машинного обучения в Python?

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

Ответ 1

AFAIK, Orange может быть лучшим выбором на данный момент.
PyML тоже хорошо.
PyMC для байесовской оценки.
и есть книга "Машиноведение: алгоритмическая перспектива", В книге много примеров кода Python, возможно, стоит прочитать.
и есть сообщение в блоге: Прагматическая классификация с Python.
Только мои два цента.

Ответ 2

Существует также scikit-learn (BSD, только зависимости от numpy и scipy). Он включает в себя различные контролируемые алгоритмы обучения, такие как:

  • SVM на основе libsvm и линейный с привязками scipy.sparse для наборов данных с широкими возможностями
  • байесовские методы
  • СММ
  • L1 и L1 + L2 регуляризованные регрессионные методы, такие как модели Lasso и Elastic Net, реализованные с использованием таких алгоритмов, как LARS и координатный спуск

В нем также представлены неконтролируемые алгоритмы кластеризации, такие как:

  • kmeans ++
  • meanshift
  • распространение аффинности
  • спектральная кластеризация

А также другие инструменты, такие как:

  • для текстового содержимого (токен и char ngrams + hasizer vectorizer)
  • одномерные функции выбора
  • простой инструмент линии трубопровода
  • многочисленные реализации стратегий перекрестной проверки
  • оценка метрики производительности и построение графика (кривая ROC, AUC, матрица смешения,...)
  • утилита поиска сетки для выполнения настройки гиперпараметров с использованием параллельной проверки перекрестных ссылок
  • интеграция с joblib для кеширования частичных результатов при работе в интерактивной среде (например, с использованием ipython)

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

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

Ответ 3

Общий удобный пакет Orange - вроде как Weka или RapidMiner, если вы знакомы с ними.

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

Ответ 4

Вы можете посмотреть:

http://www.shogun-toolbox.org/, который имеет интерфейсы для нескольких языков, включая python. Там также http://www.pybrain.org/, который (я считаю) является нативной реализацией ML-алгоритмов. Надеюсь, что это поможет.

Ответ 5

Для поддержки векторных машин посмотрите LibSVM, которые, среди прочего, имеют интерфейс Python.

Ответ 7

Я дал Orange попробовать.

Это мощный, но если вы просмотрите документацию, вы поймете, что у автора свой собственный безумный стиль написания Python. Его код становится довольно загадочным, если вы относительно новичок в Python, поэтому я бы не рекомендовал Orange, если вы не знакомы с Python.

Ответ 10

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

Ответ 13

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

Ответ 14

SVMlight иногда является удобной альтернативой LibSVM! LibSVM также фантастичен.