Сегодня словосочетание «машинное обучение» стало неразрывно связано со словом Python. Но почему это так, ведь существует еще масса других языков программирования ?
Может кто-то этого еще не заметил, но упоминание о языке Python можно проследить в разговорах коллег и преподавателей, в обучающих статьях и видео, и, в конечном счете - в требованиях для собеседования. Что сделало Python языком программирования №1 для машинного обучения?
ЧТО ТАКОЕ «МАШИННОЕ ОБУЧЕНИЕ»?
Технология под названием «машинное обучение» - это подраздел искусственного интеллекта, по крайней мере, так пишут в Википедии. Так вот, этот подраздел занимается методами построения алгоритмов, которые способны обучать компьютеры и устройства для самостоятельного, так сказать, принятия решений.
ЧТО МЫ ЗНАЕМ О PYTHON?
- Питон родился в научной среде.
Гвидо ван Россум задумал Python в 1980-х годах, а приступил к его созданию в декабре 1989 года в центре математики и информатики в Нидерландах. С самого его зарождения, язык создавался и использовался учеными, став популярным среди них.
- Python считается одним из самых простых языков программирования.
Очень простой, прозрачный и «человекочитабельный синтаксис». А также ему присуща простота в понимании процессов. Вам не нужно беспокоиться о компиляции или других процессах программной разработки.
- Всемирная поддержка community
За определенный период времени, для Python было создано огромное количество библиотек, в том числе и для машинного обучения. Сторонние разработчики и community по всему миру продолжают дополнять язык чем-то новым. Из самых известных библиотек для машинного обучения: Numpy, SciPy, SciKit-Learn. И различные фреймворки: TensorFlow, CNTK и Apache Spark. Также существует фреймворк для Python, разработанный специально для машинного обучения — это PyTorch.
- Количество обучающей информации
Любой новичок, который будет гуглить решение какой-то задачи из области машинного обучения, обязательно наткнется на решение с помощью языка Python. Пособия, видео, курсы и т.д. Эту информацию легче всего отыскать, т.к она популярная. Поэтому никто и не ищет решение с помощью других языков программирования. Эту информацию просто не легко найти.
ЕСЛИ ЛИ АЛЬТЕРНАТИВЫ ДЛЯ PYTHON?
R
Студенты знакомятся с этим языком программирования в университете, я – не исключение. Никогда не слышала об этом языке, хотя он появился еще в 1993 году, был разработан сотрудниками статистического факультета Оклендского университета. Но притом, что этот язык активно используют в статистических вычислениях, он достаточно богат на библиотеки по машинному обучению.
Хочу отметить, R имеет достаточно необычный синтаксис даже для программистов с опытом. Но важно понимать, что Python больше используется в коммерческих проектах. А вот R пользуется большой популярностью в научных кругах.
ML.NET
Библиотека для машинного обучения на платформе .NET, открытая и кроссплатформенная. Как говорит Microsoft, теперь ML.NET - это альтернатива инструментам Python , но для среды .NET. Она обладает достаточно большим функционалом для машинного обучения.
Насколько она сможет стать альтернативой Python - неизвестно. Но для готовых enterprise-приложений, построенных на .Net, это хороший вариант для внедрения бизнес-решений, связанных с машинным обучением, без использования Python и его библиотек.
Но все же, Python с его инструментами уже достаточно долго держит позицию самого популярного языка программирования для машинного обучения и всей области искусственного интеллекта, и не думаю, что собирается отдавать кому-то свое место.
Настя Бурцева