МЛ в действии!!

В статье мы обсудили базовое понимание того, что такое машинное обучение, его категории и некоторые его реализации в реальном времени. В этой статье мы рассмотрим простой пример с некоторыми фрагментами кода ML в действии!!

Ниже приведены важные шаги, связанные с любым приложением машинного обучения:

  1. Импорт данных. Как вы знаете, машины изначально учатся на данных, которые вы им предоставляете. Крайне важно собирать надежные данные, чтобы ваша модель машинного обучения могла находить правильные закономерности. Качество данных, которые вы передаете машине, будет определять точность вашей модели. Если у вас неверные или устаревшие данные, у вас будут неправильные результаты или прогнозы, которые не будут актуальны.
  2. Очистка данных. Это включает в себя объединение всех имеющихся данных и рандомизацию их, а также очистку данных для удаления нежелательных данных, отсутствующих значений, строк и столбцов, повторяющихся значений, преобразования типов данных и т. д.
  3. Разделите данные на обучающие/тестовые наборы. Обучающий набор — это набор, на котором учится ваша модель. Тестовый набор используется для проверки точности вашей модели после обучения.
  4. Выберите модель. Модель машинного обучения определяет результат, который вы получите после запуска алгоритма машинного обучения на собранных данных. Важно выбрать модель, соответствующую поставленной задаче. На протяжении многих лет ученые и инженеры разрабатывали различные модели, подходящие для различных задач, таких как распознавание речи, распознавание изображений, прогнозирование и т. д. Помимо этого, вы также должны посмотреть, подходит ли ваша модель для числовых или категориальных данных, и сделать соответствующий выбор.
  5. Обучение модели. Обучение — самый важный этап машинного обучения. При обучении вы передаете подготовленные данные в свою модель машинного обучения, чтобы находить закономерности и делать прогнозы. Это приводит к тому, что модель учится на данных, чтобы выполнить поставленную задачу. Со временем при обучении модель становится лучше в прогнозировании**.**
  6. Создавайте прогнозы. После того, как вы получите чистые данные обученного набора данных, используйте их для прогнозирования набора тестовых данных и определения точности ваших прогнозов.
  7. Оценить и улучшить. Теперь важно проверить ее точность. Это делается путем проверки производительности модели на ранее неизвестных данных. Используемые невидимые данные — это тестовый набор, на который вы ранее разделили наши данные. Если тестирование проводилось на тех же данных, которые используются для обучения, вы не получите точной меры, так как модель уже привыкла к данным и находит в них те же закономерности, что и раньше. Это даст вам непропорционально высокую точность. 1.0 — это самый высокий уровень точности, который вы можете получить.

Пример:

Давайте возьмем пример, чтобы предсказать предпочтительный музыкальный жанр в зависимости от их возраста и пола. Здесь есть различные музыкальные жанры: хип-хоп, джаз, классика, танцы и т. Д. У нас есть 17 строк в качестве входных данных. Используя эти образцы данных, мы создаем модель, обучаем модель и делаем прогнозы, используя ее в качестве основы.

Импортировать необходимый модуль

import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

Импорт данных:

Содержимое файла «music.csv» — здесь 3 столбца: возраст (20–40), пол (1 — мужской, 0 — женский) и жанр (предпочитаемый музыкальный стиль).

age  gender  genre
20   1       HipHop
23   1       HipHop
25   1       HipHop
26   1       Jazz
29   1       Jazz
30   1       Jazz
31   1       Classical
33   1       Classical
37   1       Classical
20   0       Dance
21   0       Dance
25   0       Dance
26   0       Acoustic
27   0       Acoustic
30   0       Acoustic
31   0       Classical
34   0       Classical
35   0       Classical

Очистить данные:

# clean data if any dupliactes / null etc.
# remove duplicate data using dropDuplicates()function

dataframe.dropDuplicates().show()

Выберите и обучите модель:

model = DecisionTreeClassifier() #chose the right model
model.fit(X_train,y_train)  #train the model

Делать предсказания:

predictions = model.predict(X_test) #check for random
model.predict([[21,1],[35,0]]) #predict for particular data set

Оцените и улучшите:

score = accuracy_score(y_test,predictions)

КОД:

Предсказание для определенного набора данных. Здесь мы пытаемся проверить, правильно ли модель предсказывает для мужчин 21 года и женщин 35 лет.

Таким образом, мы можем видеть, что модель правильно предсказывает, что 21-летний предпочитает хип-хоп, а 35-летний предпочитает классику. Надеюсь, это дало быстрый практический старт изучающим машинное обучение. Я хотел бы поблагодарить Намиту Пранеш Рао за то, что она поделилась со мной этой статьей. Оставайтесь с нами для предстоящих статей по связанным темам !!

Источник/ссылки:

https://mitsloan.mit.edu/ideas-made-to-matter/machine-learning-explained

https://www.youtube.com/watch?v=_uQrJ0TkZlc

https://www.salesforce.com/eu/blog/2020/06/real-world-examples-of-machine-learning.html

https://www.simplilearn.com/tutorials/machine-learning-tutorial/machine-learning-steps.