МЛ в действии!!
В статье мы обсудили базовое понимание того, что такое машинное обучение, его категории и некоторые его реализации в реальном времени. В этой статье мы рассмотрим простой пример с некоторыми фрагментами кода ML в действии!!
Ниже приведены важные шаги, связанные с любым приложением машинного обучения:
- Импорт данных. Как вы знаете, машины изначально учатся на данных, которые вы им предоставляете. Крайне важно собирать надежные данные, чтобы ваша модель машинного обучения могла находить правильные закономерности. Качество данных, которые вы передаете машине, будет определять точность вашей модели. Если у вас неверные или устаревшие данные, у вас будут неправильные результаты или прогнозы, которые не будут актуальны.
- Очистка данных. Это включает в себя объединение всех имеющихся данных и рандомизацию их, а также очистку данных для удаления нежелательных данных, отсутствующих значений, строк и столбцов, повторяющихся значений, преобразования типов данных и т. д.
- Разделите данные на обучающие/тестовые наборы. Обучающий набор — это набор, на котором учится ваша модель. Тестовый набор используется для проверки точности вашей модели после обучения.
- Выберите модель. Модель машинного обучения определяет результат, который вы получите после запуска алгоритма машинного обучения на собранных данных. Важно выбрать модель, соответствующую поставленной задаче. На протяжении многих лет ученые и инженеры разрабатывали различные модели, подходящие для различных задач, таких как распознавание речи, распознавание изображений, прогнозирование и т. д. Помимо этого, вы также должны посмотреть, подходит ли ваша модель для числовых или категориальных данных, и сделать соответствующий выбор.
- Обучение модели. Обучение — самый важный этап машинного обучения. При обучении вы передаете подготовленные данные в свою модель машинного обучения, чтобы находить закономерности и делать прогнозы. Это приводит к тому, что модель учится на данных, чтобы выполнить поставленную задачу. Со временем при обучении модель становится лучше в прогнозировании**.**
- Создавайте прогнозы. После того, как вы получите чистые данные обученного набора данных, используйте их для прогнозирования набора тестовых данных и определения точности ваших прогнозов.
- Оценить и улучшить. Теперь важно проверить ее точность. Это делается путем проверки производительности модели на ранее неизвестных данных. Используемые невидимые данные — это тестовый набор, на который вы ранее разделили наши данные. Если тестирование проводилось на тех же данных, которые используются для обучения, вы не получите точной меры, так как модель уже привыкла к данным и находит в них те же закономерности, что и раньше. Это даст вам непропорционально высокую точность. 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.