2010-06-26 2 views
10

Я начинаю изучать механическое обучение, и кажется, что эти два часто используются в этой области. Они кажутся очень похожими, так как можно решить, что лучше всего использовать?Каковы преимущества/недостатки R и MATLAB в отношении машинного обучения?

+0

Близко связанный: http://stackoverflow.com/questions/1738087/what-can-matlab-do-that-r- не могу сделать. Возможно, вы захотите поставить «машинное обучение» в названии вопроса? – Shane

+0

Выполнено, спасибо за предложение. Я проверю этот вопрос. – hungry

ответ

1

Существует много дискуссий, которые лучше, но в случае ML ответ прост: R - это язык, который был разработан для таких задач; также существует более совершенное документированное программное обеспечение ML для R.

+4

Я считаю, что документация MATLAB отличная и очень доступная. – Amro

+1

@Amro: Он говорит о ML в частности, а не о документации вообще – nico

+0

Справа. Я имею в виду, что у MATLAB есть несколько наборов инструментов ML, которые документированы, но большинство полезных методов либо вообще отсутствуют, либо реализованы как пользовательские голые скрипты. Даже в случае инструментов я всегда создаю впечатление, что они «GUIsh»; Я имею в виду, что они выполняют какой-либо метод, строят красивые графики и предоставляют результаты, которые отформатированы в случайном порядке и трудно использовать повторно. R является гораздо более гибким в этом отношении. – mbq

5

«Что лучше» - запросы обычно зависят от контекста. Это не исключение.

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

Если вы хотите попасть в машинное обучение, чтобы сделать что-то более конкретное, будут различия. Включает ли ваша задача обучения в машине изображения? Идите с Matlab, потому что вы также можете использовать обработку изображений. Вы хотите углубиться в теорию машинного обучения и использовать фантастические статистические методы для вашего нового алгоритма? Выберите R, если вы хотите использовать их множество функций, или выберите Matlab, если его среда программирования подходит вам лучше.

+5

Кроме того, не забывайте, что высокая цена лицензии для Matlab иногда является одной из точек, которые необходимо учитывать – nico

+0

@nico: По моему опыту, Matlab обычно «свободен «также, то есть кто-то платит за это. Конечно, если цена играет определенную роль, R выигрывает. – Jonas

+3

@ Джонас: все равно кто-то должен заплатить! :) В лаборатории я работал 8000 евро за лицензии Matlab/различные лицензии на инструментальные средства + что-то вроде 800 евро в год, чтобы продлить их. Это не огромные расходы в целом, но все равно ничего не происходит: D: D: D – nico

8

Я бы также сказал, что R лучше по ряду причин. Я говорю, что он использовал Matlab в течение нескольких лет и переключился на R, и мне жаль, что я не научился R в первую очередь. Существует блог Abandon Matlab, в котором приводится ряд причин, почему работа с Matlab иногда очень раздражает. Здесь а есть основные моменты, почему R является более продуктивным для меня:

  • функции Matlab вызываются с несовместимым синтаксисом через и (в) инструментарии. например если я хочу изменить свой классификатор в модели в R, мне обычно нужно только изменить имя функции и сохранить целостность вызова и данных. В Matlab обычно используется переформатирование данных и совершенно другой вызов функции, который я должен искать из документов.

  • R имеет лучшие структуры данных. Я считаю, что единственная работоспособная конструкция в Matlab - это базовый массив и работающий с чем-либо еще, чем числовые переменные, неудобно, в дальнейшем вы не можете вызывать столбцы по имени, но вы должны использовать индекс переменной (хмм, это был столбец 33 или 34, который я хотел построить ...). Вы не можете победить data.frame в R!

  • R не имеет много полезных пакетов для ML

  • Matlab имеет не назвал аргументы функций

Наконец, если вы много работаете с матрицами и найти синтаксис лучше Matlab затем проверить Python с Numpy и Scipy. Python также имеет некоторые хорошие библиотеки ML, такие как PyBrain. Я не собираюсь сравнивать R и Python здесь, потому что это совершенно другой вопрос :)

+0

'Я говорю, что это использовало Matlab в течение нескольких лет и переключилось на R, и мне жаль, что я не научился R в первую очередь.« ... +1 – sjas