Є ідея гри чи геймінг-сервісу? Реєструйся на онлайн-хакатон 7.08! Призовий фонд — $3000
×Закрыть

Помогите выбрать инструментарий для изучения машинного обучения

Я сейчас начал изучать машинное обучение. Начал с курса лекций ШАД. Возник важный вопрос: на чём делать лабораторные работы и вообще тестировать алгоритмы? Привычный и родной C++ не годится, потому как не хочется дебажить и заниматься скучной отрисовкой графиков. Первое, то приходит в голову Matlab или Python + какая-нибудь библиотека для отрисовки графиков. Для большего понимания уточню, что Matlab немного использовал в университете для решения задач по статистике и точно знаю, что там несложно строятся графики, а про Python только прочёл статью в Вики.

Расскажите, что вы используете для быстрого прототипирования алгоритмов, требующих отрисовки множества графиков?

Кстати, раньше я пользовался PHP + gd, но больше не хочу из-за отвращения к PHP.

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Интересный обзор, что лучше R или Python? habrahabr.ru/...ompany/piter/blog/263457 Вывод один — полезно знать оба языка, ну и немного Scala для решения вопросов масштабирования и больших нагрузок :)

Я начинал с курса Data Science от Johns Hopkins University, он был основан на R и я его достаточно неплохо прокачал. Но потом познакомился IPython Notebook и мое мнение что он будет в целом удобнее. Хотя некоторые вещи в R гораздо лаконичнее и удобнее. Так что мой выбор — Python.

Де-факто текущий стандарт в индустрии это:
1) Python + iPython notebook + библиотеки ( pandas, numpy/scipy, scikit-learn и т.д.)
2) R — тоже очень популярный, но не такой универсальный как Python
3) Spark — для больших данных

Мы недавно опубликовали виртуальные машины для Python и Spark, в которых уже есть вся необходимая начинка для старта. Тут можно ознакомиться детальнее — vm.datascience-school.com

Сразу скажу, что в python у меня опыт поверхностный, но мне не понятно как можно писать без ide ведь — это как минимум медленнее

Ничего, очень даже можно. Иногда мне приходится править код даже на железках всяких слабеньких в каком-нибудь vim или nano.

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

Конечно, Вы абсолютно правы. Ни в коем случае для работы я не использую текстовый редактор на постоянной основе, даже очень классный. Но вот для изучения чего-то нового текстовый редактор самое то — так лучше запоминается. Вот для меня это как раз обучение сейчас, так что просто текстовый редактор с подсветкой синтаксиса мне подойдёт.

Ну существует такой специальный язык R. Он крайне похож синтаксически на матлаб и весьма популярен среди статистиков. Под него существуют библиотеки для визуализации в ассортименте.

чисто по-человечески, советую начать с курса Andrew Ng на coursera. На 3-4 неделе ШАДа поймете, почему. А про инструменты Вам все правильно написали.

А чтобы не ждать 3 недели, можете всё-таки сказать, почему? :)

Очень сложная подача материала(похожа на универскую вышку,теорию и очень бегло, с кучей формул и недопониманием что это все означает на практике), если человек новичок в ML то теряется, если до этого пару курсов прошли, то воспринять и что-то вынести для себя можно. Первые недели темы простые, вроде как подача не напрягает, потом материал сложнее и в конце видео не помнишь что было в начале и какая была основная мысль, к чему это все)

Большое спасибо за предостережение, универские лекции ещё не выветрелись, но и снова такое слушать я не готов. Именно эта вещь меня и напрягла с самой первой лекции :)

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

А з якоюсь конкретною метою вивчаєте, чи просто цікаво ML?

Для медицинской диагностики.

Python, Pandas, Scipy, Numpy — для решения самых базовых задач. Scikit-learn — даже не знаю, есть ли лучше библиотека для ML, содержащая много чего полезного?! В ней даже есть обертки для библиотек строящих нейронки. Theano и библиотеки его рассширяющие, Tensorflow — построение нейронок, под капотом интенсивно эксплуатируется CUDA(если у вас есть), что немыслимо разгоняет вычисления. Ну и конечно XGboost — всеми любимый алгоритм градиентного бустинга, любящий пожрать ваш процессор... От себя лично — очень интересно попробовать пакет ML на Spark в плане скорости работы и набора функционала.

питон тогда дожен хорошо зайти, может даже какой нибуть tensorflow

Matlab или Octave. Дело не в графиках — тот же питон умеет их рисовать вполне неплохо. Машинное обучение предполагает постоянную работу с матрицами и векторами, а матлаб как раз этим и силен. Ну и работать с большим количеством данных легче когда под рукой есть хорошо оптимизированные солверы написанные шибко умными людьми. Все это есть опять же есть в матлабе и октаве а вот с питоном самому может прийдется изобретать велосипед.
Кстати не знаю про ШАГ но на Coursera сейчас есть очень неплохой Machine Learning курс с халявной (временной) лицензией на матлаб если хотите попробовать:
www.coursera.org/...ine-learning/home/welcome

Пайтон использует тот же инструмент для рисования графиков что и matlab. Импортится через
import matplotlib.pyplot as plt
Но графики это совсем маленькая часть всего машинного обучения, хоть и важная :)

Подписаться на комментарии