Как стать автором
Обновить

Комментарии 11

А как пишут многопоточные алгоритмы на питоне с его GIT?
Не знаю, как в машинном обучении, но я использую subprocess. В scikit-learn видел, что используется joblib, но как эта библиотека работает — я не знаю. Было бы интересно, если бы кто-то на хабре написал по этому поводу.
Есть разные подходы: multiprocessing, cython + openmp, numba jit, theano и т.п.
Про GIL и Python немало статей здесь же на Хабре, в наш курс мы этот материал не включали, он не совсем для начинающих.
Недавно читнул некоторые главы этой книги www.amazon.com/Machine-Learning-Action-Peter-Harrington/dp/1617290181 и еще есть репа с кодом github.com/pbharrin/machinelearninginaction, хоть сам экспертом не являюсь в ML и Python, но есть подозрения, что так писать на Python противопоказано, там даже не используется numpy, но думаю автор специально делает упрощения для новичков, но не сообщает, что это явно не для продакшена код. Теоретический материал изложен очень понятно почти без формул (опять же для новичков), не весь спектр ML алгоритмов рассмотрен, но автор об этом пишет. Наверно можно порекомендовать как первую книгу, но может привить неправильное представление об использовании так скажем scientific подмножества python.

Есть еще github.com/rasbt/python-machine-learning-book выглядит посерьезнее, но пока не читал.

p.s. scikit learn хорош если его использовать как black box, т.е. именно как инструмент, но код у него не читаемый, по крайней мере для меня.
Да, «Machine Learning in Action» я советовал в своем курсе, но именно чтоб разобраться в деталях алгоритма, «залезть под капот», там хорошо объясняют. Согласен, что без NumPy и прочих питоновских библиотек код там смотрится жалко.
У Scikit-learn документация отличная, исходники мне не приходилось прямо читать и править. Так что для начинающих — то что надо. Но API несложный, свой класс Estimator можно быстро написать.
А уж потом допиливать решения для продакшн — это другое дело. Возможно, тут скоро изменятся приоритеты — TensorFlow
Например в доках scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html#sklearn.tree.DecisionTreeClassifier не написано какой именно алгоритм обучения дерева используется ID3, CART или C4.5.
Да, поскольку это документация конкретного класса. Пишут просто «A decision tree classifier. Read more in the User Guide.» В гайде уже описывается метод, а не конкретный класс. По абзацу на ID3, С4.5 и CART и в конце говорится, что в sklearn это оптимизированный CART.
Хотя согласен можно было и в документации DecicionTreeClassifier написать, что это CART.

Новый старт открытого курса OpenDataScience по машинному обучению – 6 сентября 2017 г.
Вас ждут статьи на Хабре (список выше), домашние задания, соревнования по анализу данных, а главное – активная жизнь на форуме (канал #mlcourse_open в slack OpenDataScience). Курс для начинающих, но требуются некоторые навыки программирования на Python и знания математики (подробней — в репозитории курса. Темы:


  1. Первичный анализ данных с Pandas
  2. Визуальный анализ данных c Python
  3. Классификация, деревья решений и метод ближайших соседей
  4. Линейные модели классификации и регрессии
  5. Композиции: бэггинг, случайный лес
  6. Построение и отбор признаков. Приложения в задачах обработки текста, изображений и геоданных
  7. Обучение без учителя: PCA, кластеризация
  8. Обучение на гигабайтах c Vowpal Wabbit
  9. Анализ временных рядов с помощью Python
  10. Градиентный бустинг

Если собираетесь проходить, заполните веб-форму и вступайте в сообщество (вся движуха будет там, укажите #mlcourse_open в вопросе, откуда узнали про ODS).


После этого курса (с 15 ноября) там же в канале #mlcourse_open будем вместе проходить стэнфордский курс cs231n “Convolutional Neural Networks for Visual Recognition”

Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории