R и интеллектуальный анализ данных

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

У меня есть быстрый вопрос: как вы сравниваете R с Matlab для приложения для интеллектуального анализа данных, его популярности, плюсов и минусов, промышленности и академического признания и т.д.? Какой из них вы бы выбрали и почему?

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

Я ценю любые предложения.

Ответ 1

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

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

Набор инструментов нейронной сети, панель инструментов оптимизации, панель инструментов статистики, и инструментальная панель Curve Fitting Toolbox являются очень желательными (если не важными) для тех, кто использует MATLAB для работы с данными ML/Data Mining, но все они отделены от базовая среда MATLAB - другими словами, их нужно приобретать отдельно.

Мой Список лучших 5 для обучения ML/Data Mining в R:

Это относится к нескольким вещам: во-первых, группа из R-пакета, в которой все начинаются arules (доступно из CRAN); вы можете найти полный список (arules, aruluesViz и т.д.) на странице проекта. Во-вторых, все эти пакеты основаны на методе интеллектуального анализа данных, известном как анализ на основе рынка и, альтернативно, в качестве правил ассоциации. Во многих отношениях это семейство алгоритмов является сущностью интеллектуального анализа данных - исчерпывающе пересекают крупные транзакционные базы данных и обнаруживают более средние ассоциации или корреляции между полями (переменными или функциями) в этих базах данных. На практике вы подключаете их к источнику данных и позволяете им работать в одночасье. Центральный пакет R в упомянутом выше наборе называется arules; На странице пакета CRAN для arules вы найдете ссылки на несколько отличных вторичных источников (виньетки в R lexicon) на пакете arules и на технику правил ассоциации в целом.

Самое современное издание этой книги доступно в цифровой форме бесплатно. Аналогично, на веб-сайте книги (только что выше) все наборы данных, используемые в ESL, доступны для бесплатной загрузки. (В стороне, у меня есть бесплатная цифровая версия, я также приобрел версию с твердым обложкой с BN.com, все цветные графики в цифровой версии воспроизводятся в жесткой версии.) ESL содержит подробные введения, по крайней мере, из одного примера из большинство основных ML-рубрики - например, нейронные сети, SVM, KNN; бесконтрольный методы (LDA, PCA, MDS, SOM, кластеризация), многочисленные вкусы регрессии, CART, Байесовские методы, а также методы агрегации моделей (Boosting, Bagging) и настройка модели (регуляризация). Наконец, получите пакет R, который прилагается к книге из CRAN (что избавит вас от необходимости загружать данные из наборов данных).

  • CRAN Просмотр задачи: машинное обучение

Доступны +3 500 доступных пакетов для R делятся на домен на примерно 30 семейств пакетов или " Виды задач. Машинное обучение является одним из этих семейств. В представлении задач машинного обучения содержится около 50 Пакеты. Некоторые из этих пакетов являются частью основного распределения, включая e1071 (расширяющийся пакет ML, который включает рабочий код для довольно многих обычные категории ML.)

Особое внимание уделяется сообщениям, помеченным с помощью Predictive Analytics

Тщательное изучение кода само по себе было бы отличным введением в ML в R.

И один последний ресурс, который я считаю превосходным, но не сделал в топ-5:

размещен в блоге A Beautiful WWW

Ответ 3

Оба Matlab и R хороши, если вы выполняете операции с матрицей. Потому что они могут использовать высоко оптимизированный низкоуровневый код (библиотеки BLAS и т.д.) Для этого.

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

И как только вы попадаете в организацию данных, R и Matlab - это боль. Попробуйте реализовать R * -tree в R или matlab, чтобы принять алгоритм O(n^2) до O(n log n). Прежде всего, это полностью противоречит тому, как R и Matlab разработаны (используйте массовые математические операции, где это возможно), во-вторых, это убьет вашу производительность. Например, интерпретируемый R-код работает примерно на 50% от скорости кода C (попробуйте R-встроенные k-средства против flexclus k-средств); и библиотеки BLAS оптимизированы до безумного уровня, используя размеры кеша, выравнивание данных, расширенные функции ЦП. Если вы предприимчивы, попробуйте выполнить ручное умножение матрицы в R или Matlab и сравните его с родным.

Не поймите меня неправильно. Существует много вещей, где R и matlab - это просто элегантный и отличный для прототипирования. Вы можете решить много всего всего в 10 строках кода и получить достойную производительность. Написание того же самого вручную было бы сотнями строк и, вероятно, в 10 раз медленнее. Но иногда вы можете оптимизировать уровень сложности, который для больших наборов данных превзойдет оптимизированные матричные операции R и matlab.

Если вы хотите увеличить масштаб до "Hadoop size" в долгосрочной перспективе, вам также придется подумать о макете данных и организации, если только вам не нужна линейная проверка данных. Но тогда, вы могли бы просто попробовать выборку!

Ответ 4

Вчера я нашел две новые книги о Data mining. В этих сериях книг, озаглавленных "Data Mining", указывается необходимость, подробно описывая новые алгоритмы добычи и многие полезные приложения. В дополнение к пониманию каждого раздела глубоко, две книги представляют полезные советы и стратегии для решения проблем в следующих главах. Прогресс в технологии интеллектуального анализа данных и широкая общественная популярность создают потребность в всеобъемлющем тексте по этому вопросу. Книги: "Новые фундаментальные технологии в области интеллектуального анализа данных" здесь http://www.intechopen.com/books/show/title/new-fundamental-technologies-in-data-mining и "Knowledge-Oriented Applications in Data Mining" здесь http://www.intechopen.com/books/show/title/knowledge-oriented-applications-in-data-mining Это книги с открытым доступом, чтобы вы могли бесплатно загрузить их или просто читать на платформе онлайн-чтения, как я. Ура!

Ответ 5

Мы не должны забывать источники происхождения для этих двух программ: научное вычисление, а также обработка сигналов приводит к Matlab, но статистика приводит к R.

Я много использовал MATLAB в университете, так как у нас есть один установленный в Unix и открыт для всех учеников. Тем не менее, цена для Matlab слишком высока, особенно по сравнению с бесплатным R. Если ваш основной упор не в матричном вычислении и обработке сигналов, R должен хорошо работать для ваших нужд.

Ответ 6

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

Ответ 7

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

Ответ 8

Я признаю поддержку MATLAB для проблем с интеллектуальным анализом данных, и я даю некоторые из моих рассуждений здесь:

Почему MATLAB для интеллектуального анализа данных?

Я соглашусь только на знакомство с R/S-Plus, но я сделаю следующие замечания:

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

  • Код для новых статистических методов (пространственная статистика, надежная статистика и т.д.) часто появляется на ранней стадии S-Plus (я предполагаю, что это переносится на R, по крайней мере, на некоторые).

  • Несколько лет назад я обнаружил, что коммерческая версия R, S-Plus имеет чрезвычайно ограниченную емкость для данных. Я не могу сказать, что такое состояние R/S-Plus сегодня, но вы можете проверить, будут ли ваши данные удобными в таких инструментах.