Это сообщение взято из бесплатного информационного бюллетеня Grokking Python, доступного на Substack от Educative, лучшей в мире обучающей платформы для разработчиков программного обеспечения. Здесь мы будем делиться лучшей информацией и ресурсами нашей команды, связанными с Python, — мы думаем, что они действительно могут улучшить ваше понимание.

Привет, читатели Grokking Python!

Большинство людей ежедневно взаимодействуют с процессами машинного обучения, хотя и не всегда знают об этом. Машинное обучение — это раздел искусственного интеллекта (ИИ); он работает, пропуская данные через алгоритмы, которые обучают программное обеспечение принимать решения, классифицировать и прогнозировать на основе определенных входных данных. Каждый раз, когда вы сталкиваетесь с автоматизированной системой, которая принимает решения или рекомендации в ответ на заданный набор входных данных, эта система, вероятно, является продуктом машинного обучения.

Пример, с которым вы, возможно, знакомы, — это рекомендуемая категория контента в вашей учетной записи Netflix. Этот контент отбирается с помощью алгоритма, который анализирует вашу историю просмотров, чтобы делать прогнозы о том, какие телешоу и фильмы вам покажутся интересными. Аналогичный процесс происходит, когда ваша кредитная карта заблокирована из-за подозрительной активности. Точно так же, как ваша история просмотров позволяет алгоритму Netflix предсказывать, какой контент вам понравится, ваши прошлые транзакции по кредитным картам позволяют вашему банку судить, соответствует ли новая транзакция вашей учетной записи. Таким образом, машинное обучение является ключевой частью многих приложений, которые мы используем ежедневно, что делает его неотъемлемой частью архитектуры нашего гипер-онлайн-мира.

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

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

Как работает машинное обучение

Алгоритмы машинного обучения обычно делятся на четыре категории: контролируемые, неконтролируемые, полуконтролируемые и с подкреплением.

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

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

Машинное обучение с частичным учителем – это модель, включающая в себя как контролируемые, так и неконтролируемые элементы. Думайте об этом как о промежуточном подходе, который призван избежать некоторых ловушек первых двух моделей. Модели с учителем, как правило, дают более точные результаты, но это связано с трудоемким процессом маркировки наборов данных для обучения алгоритма. Неконтролируемые модели не требуют такой предварительной работы, и они могут быть чрезвычайно полезны при обработке больших объемов несекретных данных. Однако они также могут давать менее точные результаты, так что специалистам по данным все еще необходимо анализировать выходные данные алгоритма, чтобы проверить их точность. Полууправляемые модели являются полезной альтернативой, поскольку они работают со смешанным набором данных, некоторые из которых помечены, а некоторые — нет. Размеченные данные могут обучить алгоритм более точной обработке неразмеченных данных.

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

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

Как отмечалось выше, возможно, не существует «лучшего» языка для машинного обучения. Язык, который вы используете, обычно зависит от конкретной задачи, которую вы выполняете. Например, R был разработан статистиками и подходит для математических вычислений. Итак, если задача машинного обучения включает в себя статистический анализ и визуализацию данных, вы можете решить, что R — лучший язык для ваших целей.

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

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

Почему Питон?

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

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

Python также является переносимым, что означает, что приложения Python могут работать в различных операционных системах, включая Windows и MacOS.

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

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

  • 1. NumPy — это библиотека Python с открытым исходным кодом, которая используется для сложных математических операций. Он совместим с некоторыми другими библиотеками, перечисленными ниже, такими как Pandas, Matplotlib и Scikit-learn.
  • 2. SciPy — это библиотека с открытым исходным кодом, основанная на NumPy с рядом алгоритмов для приложений научных вычислений.
  • 3. Pandas — еще одна библиотека с открытым исходным кодом. Он предоставляет ряд инструментов для анализа и обработки данных и часто используется вместе с NumPy, SciPy и Matplotlib.
  • 4. Matplotlib — самая популярная библиотека Python для визуализации данных и построения двумерных графиков.
  • 5. Seaborn построен на Matplotlib и может использоваться для построения статистики и построения доступной графики.
  • 6. TensorFlow — платформа машинного обучения с открытым исходным кодом. Помимо предоставления надежных библиотек для машинного обучения в Python, он включает в себя ряд инструментов и пользовательских ресурсов, которые упрощают модели машинного обучения с высокой степенью переносимости.
  • 7. Scikit-learn — еще одна популярная библиотека Python с открытым исходным кодом. Построенный на NumPy, SciPy и Matplotlib, он часто используется для запуска алгоритмов классификации, регрессии и кластеризации.

Начиная

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

Если у вас уже есть некоторый опыт работы с наукой о данных и машинным обучением и вы готовитесь к собеседованию, рассмотрите курс Educative Grokking the Machine Learning Interview.

Есть ли пример использования Python, который вы хотели бы, чтобы мы рассмотрели в будущем выпуске Python в действии? Дайте нам знать в комментариях или ответив на это письмо.

Как всегда, приятного обучения!

Начать обсуждение

Какую библиотеку Python вы хотите попробовать больше всего? Был ли этот пост полезен? Дайте нам знать в комментариях ниже!