Предположим, вам была дана простая задача распознавать разные формы.
Вы легко можете сказать, что одна из этих фигур - квадрат, одна из них - круг, а другая - треугольник. Вы когда-нибудь задумывались о том, как узнать, какая форма какая? С детства вас учили называть определенную фигуру определенным именем, и точно так же ваш компьютер можно обучать аналогичным образом, обучая его выполнять определенную задачу. Это обучение компьютера называется машинным обучением.
Начиная с азов машинного обучения
Чтобы научить компьютер решать задачу, используются разные алгоритмы.
Есть 2 метода заставить машину обучаться:
Обучение с учителем
При обучении с учителем мы вводим данные и приводим результаты парами. Затем, используя разные алгоритмы, машина может соотносить ввод и вывод. Мы используем помеченный набор данных для обучения алгоритма.
Обучение без учителя
В обучении без учителя нет функции, которая явно помечена. Он создает кластеры, и на их основе извлекаются различные свойства.
В этой статье будут рассмотрены основы контролируемого обучения, то есть регрессии.
Регрессия - это самый простой алгоритм, который используется в машинном обучении, когда вы хотите подобрать наиболее подходящую функцию в данных. Уравнение регрессии:
Если есть только одна независимая переменная, мы используем линейную регрессию, в противном случае, если у нас есть несколько переменных, мы используем логистическую регрессию.
Мы будем использовать scikit learn для доступа к различным моделям машинного обучения. Весь код будет написан на Python. Используйте блокнот jupyter или Google Colab для написания кода.
Возьмем пример линейной регрессии.
Прогнозирование размера мозга с учетом веса мозга.
Набор данных:
Https://www.kaggle.com/jemishdonda/headbrain/version/1#headbrain.csv
Код:
NumPy - это библиотека для языка программирования Python, добавляющая поддержку больших многомерных массивов и матриц, а также большой набор высокоуровневых математических функций для работы с этими массивами.
В компьютерном программировании pandas - это программная библиотека, написанная для языка программирования Python для обработки и анализа данных.
pd. Функция read_csv () считывает файл csv и присваивает данные файла переменной «data».
data.head () печатает первые 5 строк в наборе данных.
data.info () эта функция дает нам информацию о наборе данных, такую как заголовки столбцов, количество ненулевых объектов в каждом столбце и тип данных объектов в каждом столбце.
Это для присвоения данных в столбцах переменным. Мы не можем предоставить двумерный массив, состоящий из одной строки и n столбцов. Нам нужен ввод в виде n строк и одного столбца. Итак, мы используем функцию изменения формы, чтобы найти транспонирование этой матрицы.
Здесь мы импортируем функцию линейной регрессии и train_test_split из библиотеки обучения Scikit.
Мы разделяем данные на набор данных для обучения и набор данных для тестирования. Размер тестового набора данных составляет 33% от всех данных. После использования этой функции мы получаем 4 массива.
Импорт модели линейной регрессии в качестве модели. Функция соответствия назначает линию наилучшего соответствия по всем точкам данных.
Поскольку мы разделили точки данных выше, мы используем массив X_test для прогнозирования на основе модели, которую мы только что построили с помощью функции подбора.
Эта функция сообщает нам, насколько точно наша модель может предсказать размер мозга. Как видите, модель способна делать прогнозы со 100% точностью.
Надеюсь, эта статья помогла вам хорошо понять, что такое машинное обучение и как с ним начать.
Ссылка на блокнот Google Colab:
https://colab.research.google.com/drive/1d1l9ZM26XAOHSfPowdJnkSIAfQ7DsSMt
Удачного обучения!
Автор: Аакар Мута