Что такое ML?

Когда вы слышите ML или AI, что приходит на ум, так это то, что вы вводите некоторые данные или вводите изображения в алгоритмы ML, и эти алгоритмы предсказывают вывод или изображения? Да, это делают алгоритмы, но с данными предстоит проделать большую работу, прежде чем они пройдут через алгоритмы машинного обучения.

Когда я начал изучать концепции ML, стало очевидно, что весь процесс не так прост, как кажется со стороны!

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

Основные необходимые шаги я разделил следующим образом:

  1. EDA — выполнение исследовательского анализа данных, который включает сбор данных, очистку данных, одномерный и двумерный анализ.

2. Разделить данные — разделить данные на наборы данных Train и Test.

3. Обучение данным. Обучайте набор данных с помощью алгоритмов машинного обучения в зависимости от того, какие это данные (классификация для категориальной выходной метки или регрессия для непрерывной выходной метки).

4. Тестирование данных. После обучения данных они применяются к тестовым данным.

ЭДА

EDA — очень важный шаг в машинном обучении, поскольку он помогает нам понять набор данных, очистить его, если присутствуют какие-либо нарушения, и выполнить анализ с использованием графиков, чтобы мы лучше поняли распределение и взаимосвязь между присутствующими метками (столбцами). в наборе данных. Понимание отношений между метками помогает решить, какие метки зависят друг от друга, и как это определяет выходную переменную.

Все нежелательные метки удаляются из набора данных. Это помогает модели ML хорошо обучать данные.

Сбор данных:

Первый шаг — сбор данных.

Данные очень важны для моделей машинного обучения, и наличие правильных данных помогает лучше обучать и обеспечивать высокую точность данных.

Извлечение данных с веб-сайтов обычно называется очисткой сети/данных.

На сайтах сообщества ML/DS есть множество открытых наборов данных, самым популярным из которых является Kaggle.

Файлы данных, загруженные с веб-сайтов, обычно имеют форматы CSV и xls.

Pandas.read_csv() используется для получения данных из CSV-файла и

pandas.read_excel() для загрузки данных из файла Excel.

Код для загрузки данных из csv.

импортировать панд как pd

datadf=pd.read_csv('Data.csv')

Pandas.read_csv считывает файл значений с разделителями-запятыми (csv) в DataFrame.

И код для загрузки данных из файла excel

импортировать панд как pd

datadf= pd.read_excel(Data.xls)

pandas.read_excel() читает файл Excel в pandas DataFrame

Анализ данных:

После того, как данные были прочитаны в DataFrame, следующим шагом будет анализ данных.

pandas.info() выводит краткие сводные данные фрейма данных.

Этот метод выводит информацию о типе данных, количестве столбцов и количестве ненулевых значений для столбцов, присутствующих в наборе данных.

pandas.shape() выводит количество столбцов и строк, присутствующих в фрейме данных. В этом случае присутствует несколько этикеток и несколько элементов.

pandas.describe() выводит всю сводку данных. Он печатает среднее значение, медиану, стандартное отклонение и четверть процентили всех столбцов, присутствующих в DataFrame.

Очистка данных:

Перед выполнением одномерного и двумерного анализа данные необходимо очистить от любых несоответствий.

Это включает в себя проверку наличия каких-либо пропущенных значений и удаление любых нежелательных переменных и выбросов из наборов данных. Это помогает уменьшить ненужное искажение данных.

Удаление пропущенных значений.

Чтобы проверить, есть ли в наборе данных какие-либо отсутствующие значения, используйте pandas.DataFrame.isna(). Он возвращает логическое значение для каждого элемента столбца, false, если элемент не равен NULL, и True, если он равен NULL.

Другой способ проверить отсутствующие значения — получить сумму всех отсутствующих значений, чтобы было легче узнать, сколько отсутствующих значений присутствует в наборе данных. Если есть только несколько отсутствующих значений, эти строки можно удалить, иначе их можно заменить средним/медианным значением его типа int (некатегориальная переменная).

Удаление выбросов.

Существуют разные способы увидеть, есть ли в наборе данных выбросы. Самый простой способ - сделать коробку. Другой способ — метод межквартильного диапазона. сделает еще один блог исключительно для аутсайдеров. Изображение ниже является примером того, как выбросы выглядят на блочной диаграмме. Точки далеко от прямоугольника говорят нам о том, что для лейбла SibSp есть некоторые выбросы.

Одномерный анализ:

После сбора и очистки данных следующим шагом является одномерный анализ.

Одномерный анализ помогает анализировать каждую метку в наборе данных. Он показывает диапазон и центральную тенденцию значений. Это выполняется с использованием различных графиков, которые включены в библиотеки seaborn и matplotlib.

Наиболее популярны Barplot, Boxplot, Distplot, Countplot.

Distplot используется для непрерывных переменных, тогда как countplot используется для категориальных переменных. Boxplot можно использовать для обеих переменных.

Двумерный анализ:

Двумерный анализ помогает понять связь между (двумя) метками в наборе данных. Обычно используемые графики matplotlib, график рассеяния, парный график.

Разделение данных:

Следующим шагом после EDA является разделение данных на обучающие и тестовые данные.

После того, как данные были очищены и удалены с независимыми столбцами, набор данных разбивается на X и y. X содержит входные переменные, а y содержит выходную переменную. Вот еще одна библиотека под названием sklearn. Библиотека sklearn содержит метод, необходимый для разделения данных, использования различных моделей данных и проверки различных показателей.

Это означает, что X будет содержать все столбцы/метки, определяющие вывод/результат. X и y разделены на наборы данных для обучения и тестирования. Обычной практикой является деление на 70:30. Если это небольшой набор данных, разделите его на 80:20.

Данные тренировки:

Это та часть, где данные передаются моделям ML для обучения данных. Существуют различные модели, в зависимости от типа данных и выходной метки. Данные с непрерывной выходной переменной/меткой обучаются с помощью неконтролируемых моделей, для классификации данных используются контролируемые модели.

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

Данные тестирования:

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

Точность, точность и полнота — вот некоторые из обычно используемых показателей. Точность данных обучения и данных тестирования должна быть почти одинаковой. Точность говорит о том, насколько хороша модель в прогнозировании, а полнота говорит о том, сколько раз модель собиралась предсказать правильный результат.

Существует так много других факторов, некоторые из них — необходимость набора проверки и преобразования данных из объектного типа в числовой тип. масштабирование, нормализация даты перед обучением модели. Вышеупомянутый блог посвящен основам ML Life.

Спасибо за чтение моего блога! Я здесь, чтобы писать и учиться у различных других блогов.