Машинное обучение - действительно актуальная тема, и большинство практиков - программисты. Проще говоря, инженер по машинному обучению - это человек, у которого навыки программирования больше, чем у любого статистика, и математические или аналитические навыки больше, чем у других программистов.
Машинное обучение настолько широко применяется повсюду, что мы даже не замечаем этого. Например, вспомните, как вам понадобился новый телефон, обувь или что-то в этом роде, и через некоторое время вся реклама на просматриваемых сайтах была связана с товарами, которые вы только что просмотрели?
Область настолько обширна, что каждый день появляются новые стартапы с новыми идеями использования ИИ и помощи миру.
И все это начинается здесь.
В Python задача анализа данных была упрощена с помощью Scikit learn. Давайте разберемся, как пользоваться этой библиотекой. В этой статье рассматривается только вводная часть. Как только вы привыкнете к документации, вы сможете отлично справиться с этой задачей. Вот ссылка на документацию.
Большинство моделей имеют определенные функции, которые нам необходимо понять перед запуском. В Scikit learn есть следующие:
- fit (): все математические модели содержат в своем уравнении определенные переменные и константы. переменные являются нашим вводом, и этот метод определяет константы.
- fit_transform (): этот метод определяет константы, а также увеличивает входные данные для генерации выходных данных на основе переменных.
- transform (): этот метод только преобразует данные на основе переменных.
- прогноз (): этот метод используется только для прогнозирования результатов. Обратите внимание, что этот метод отличается от методов 2 и 3, поскольку он используется только при прогнозировании.
Давайте сначала рассмотрим процедуру.
- Выбираем какой-нибудь объект (тип модели, которую нужно применить).
- Мы отправляем ему наши данные и обучаем его. Обучение просто означает, что вы обучаете объект генерировать определенный результат, когда поступает какой-то ввод. После чего вы подгоняете данные к модели.
- Наконец, вы даете модели несколько тестовых примеров, и она предсказывает.
Некоторые модели предназначены не для прогнозирования результатов, а только для изменения внешнего вида данных. В этом случае мы используем преобразование.
Приведем пример: -
Перейти к документации (нажмите здесь). Затем Регрессия → Обычные наименьшие квадраты. (Нажмите здесь, чтобы перейти напрямую)
Это основано на простом линейном уравнении, которое мы все изучили (y = ax + b)
Здесь X - это вход, а Y - выход. Теперь нам нужно определить a и b.
>>> import numpy as np >>> from sklearn.linear_model import LinearRegression >>> X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]]) >>> # y = 1 * x_0 + 2 * x_1 + 3 >>> y = np.dot(X, np.array([1, 2])) + 3 >>> reg = LinearRegression().fit(X, y) >>> reg.coef_ array([1., 2.]) >>> reg.intercept_ 3.0000... >>> reg.predict(np.array([[3, 5]])) array([16.])
Код приведен в самой документации и прост для понимания.
- Мы создали объект (рег)
- Мы подогнали данные к X и y.
- Мы сделали прогноз для наших пользовательских данных.
Вот и все!
Большинство моделей следуют аналогичной тенденции реализации, и каждая из них имеет подробное объяснение того, как их использовать, с примером.
Определение типа модели и обработка входных данных - это навык, которому можно научиться путем визуализации данных и знания фактического процесса, лежащего в основе концепции.
Теперь у вас есть тонны моделей для изучения, и вы можете просто прокрутить, выбрать и понять, как они работают. Чтобы понять используемые математические функции, вы можете просмотреть исследовательские работы, представленные в документации.