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

Вопрос или проблема

Предыстория

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

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

Моя дилемма

У меня есть две задачи:

  1. Выучить Python (что можно отложить, если я продолжу с R, но я знаю, что в конечном итоге мне придется перейти).
  2. Освоить инструмент машинного обучения (Tidymodels, mlr3 или scikit-learn), чтобы произвести впечатление на команду во время собеседования.

Как я уже сказал, задачу 1 можно выполнить позже. Но задачу 2 нужно решить в течение нескольких недель. Поэтому, если вы думаете, что мне стоит перейти на Python, имейте в виду, что у меня собеседование в очень близком будущем, поэтому мне нужно освоить и Python, и машинное обучение.

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

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

ps. Кто-то спросил меня, почему мне нужно перейти на Python. На основании консультаций с экспертами они упомянули, что R все еще довольно незрелый и страдает от проблем с памятью и эффективностью GPU, среди прочего. Но я не уверен в этом. Я просто хочу изучить лучший инструмент как можно скорее.

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

Исследователь в области машинного обучения может реализовать свой инновационный метод на Python и достичь более широкой аудитории, чем разработка его на любом другом языке программирования или платформе. Это создает порочный круг – из-за большего числа пользователей и исследователей, использующих Python, любые новые разработки в области машинного обучения, как правило, ориентированы на пользователей Python, чтобы они были более доступны.

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

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

Ответ или решение

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

Фон

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

Задачи и приоритеты

  1. Изучение Python: Вы правильно заметили, что обучение Python можно отложить, однако не стоит забывать, что язык уже активно используется в вашем круге и может понадобиться в ближайшем будущем.

  2. Мастерство инструментов машинного обучения: У вас ограниченное время для подготовки к интервью. Это значит, что стоит выбирать инструмент, который вы сможете освоить быстрее и с наибольшей пользой для собеседования.

Оценка языков

R

  • Преимущества:

    • Сильный фокус на статистике и анализе данных.
    • Наличие пакетов, таких как Tidymodels и mlr3, которые предлагают удобные функции для работы с моделями машинного обучения.
    • Хорошая поддержка визуализации данных через ggplot2 и другие библиотеки.
  • Недостатки:

    • Ограниченная поддержка в области глубокого обучения и более сложных моделей по сравнению с Python.
    • Недостаток в производительности и памяти для работы с большими объемами данных.

Python

  • Преимущества:

    • Более широкая поддержка сообществом для новых библиотек и инструментов в области машинного обучения и глубокого обучения (например, TensorFlow, PyTorch, scikit-learn).
    • Лучшая производительность и работа с графическими процессорами.
    • Широкий спектр применения: от исследований до производства и разработки.
  • Недостатки:

    • Для некоторых статистических методов может потребоваться больше времени на изучение и реализацию.

Рекомендации

  1. Работа с R:

    • Используйте пакеты, такие как Tidymodels и mlr3, для круглосуточного освоения методик работы в машинном обучении. Они обеспечивают современный подход к моделированию и могут быть достаточно мощными в контексте ваших задач.
    • Для подготовки к интервью сосредоточьтесь на реализации типичных моделей машинного обучения (регрессия, классификация) и их интерпретации.
  2. Параллельное изучение Python:

    • Начните с основ синтаксиса и функциональности Python. Используйте онлайн-курсы, такие как Coursera или edX, чтобы изучить библиотеки машинного обучения, например, scikit-learn.
    • Уделите внимание практическим примерам. Даже базовое понимание Python и его библиотек поможет вам в общении с командами, использующими этот язык.

Выводы

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

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

Оцените материал
Добавить комментарий

Капча загружается...