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

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

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

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

Сильные основы - важная предпосылка для лучшего программиста, и это относится ко всем мирским профессиям.

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

Что такое машинное обучение?

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

Типы

Основные типы машинного обучения

  • Контролируемое обучение
  • Неконтролируемое обучение

Что такое обучение с учителем?

Мы будем рассматривать только концепции контролируемого обучения, а точнее линейной регрессии.

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

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

Типы

Основные типы обучения с учителем

  • Классификация
  • Регресс

Примеры использования в реальных условиях

  • Обнаружение мошенничества.
  • Результаты веб-поиска.
  • Распознавание изображений и голоса.
  • Кредитный скоринг.
  • Агенты чат-ботов в реальном времени.
  • Рекомендации по продукту.
  • Сбой оборудования.
  • Здравоохранение (выявление заболеваний) и т. Д.

Сбор данных

Соберите и подготовьте свои данные, это может быть приложение, опрос клиентов, датчики, онлайн и т. Д.

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

Здесь мы очищаем, форматируем и заполняем недостающую информацию о данных в соответствии с предпочтительным стандартом с помощью pandas (pandas - это программная библиотека, написанная для языка программирования Python для обработки и анализа данных)

Построение и обучение модели

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

Тестирование модели

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

Развертывание модели

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

Краткое резюме

Данные обучения

Используется для обучения параметров модели

Данные валидации

Используется для определения того, какие параметры модели необходимо настроить

Данные испытаний

Используется для получения окончательной метрики производительности

РЕГРЕССИЯ

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

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

Для задач регрессии у нас есть 3 общих показателя статистической оценки производительности, а именно:

Средняя абсолютная ошибка (MAE) - это среднее абсолютное значение ошибок:

Среднеквадратичная ошибка (MSE) - это среднее значение квадратов ошибок:

Среднеквадратичная ошибка (RMSE) - это квадратный корень из среднего квадрата ошибок:

Мы увидим, как использовать эти статистические уравнения для оценки производительности нашей модели, где yi - это значение наших исторических тестовых данных для метки, а ŷi - это прогнозы, созданные нашей моделью.

После того, как мы получили наш набор данных и подготовили его для очистки и анализа, мы продолжим и установим Scikit-Learn.

Scikit-learn (Sklearn) - полезная и надежная библиотека для машинного обучения на Python. Он предоставляет набор эффективных инструментов для машинного обучения и статистического моделирования, для тех, кто использует интерфейс командной строки, просто вставьте это «pip install scikit-learn», а тем, кто использует anaconda, следует вставить это в свой интерфейс » conda install scikit-learn ', после установки мы продолжим и импортируем библиотеку в нашу среду IDE.

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

ЛИНЕЙНАЯ РЕГРЕССИЯ

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

ЗАЯВЛЕНИЕ О ПРОБЛЕМЕ

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

Мы будем работать с CSV-файлом клиентов электронной торговли от компании. Он содержит информацию, которая представляет собой категориальные столбцы, такие как

  • Электронная почта
  • Адрес
  • цветной аватар

Кроме того, в нем есть числовые / непрерывные столбцы (Возможности):

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

И непрерывный столбец, который мы прогнозируем (метка):

  • Израсходованная сумма за год

мы взглянем на стол и рассмотрим некоторую информацию:

Первый шаг:

Удаление всех категориальных столбцов и разделение числовых столбцов на функции (X) и метки (y) (исторические данные, которые мы пытаемся предсказать)

Второй шаг:

Мы импортируем train_test_split из sklearn_model_selection, чтобы разделить набор данных на обучающие и тестовые данные, обычно для лучшей практики 30–33% набора данных следует выделить для тестовых данных и не менее 70% к тренировочным данным.

Для этого укажите для аргумента test_size значение от 0 до 1, например 0,3 = 30%.

Третий шаг:

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

Четвертый шаг:

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

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

Пятый шаг:

Получив прогнозы нашей модели на основе данных тестирования функций (x_test), используя для этого метод .predict (), мы продолжаем и строим значения y_test в сравнении с нашими прогнозами, используя диаграмму рассеяния.

Шестой шаг:

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

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

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

Седьмой шаг:

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

Остаточные значения - это разница между фактическими тестовыми значениями для нашей метки (y_test) и прогнозируемыми значениями (прогнозами).

Восьмой шаг:

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

Вы можете прочитать больше о трех концепциях в Интернете для лучшего объяснения.

Девятый шаг:

Интерпретируя Insights, которые мы можем вывести из коэффициентов регрессии, здесь будет дан ответ на заданный вопрос. Компания пытается решить, сосредоточить ли свои усилия на опыте с мобильным приложением или на своем веб-сайте.

Интерпретация коэффициентов

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

Например:

  • Если все остальные приспособления фиксированы, увеличивается значение Средн. Продолжительность сеанса равна увеличению общих расходов на 25,98 долларов.
  • Если все остальные функции зафиксированы, на единицу измерения времени в приложениях равняется до увеличения на 38,59 общих потраченных долларов. и т. д.

РЕКОМЕНДАЦИИ

На изображении выше видно, что люди тратят больше, используя приложение 38,590159 долларов по сравнению с временем пребывания на веб-сайте 0,190 доллара США, имеет смысл и хороший аргумент в пользу того, чтобы использовать мобильное приложение как способ взаимодействия компании со своими клиентами.

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

Это ссылка на репозиторий GitHub для этой статьи, он содержит файлы и код статьи. Наслаждаться.

ВЫВОДЫ

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

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

Я хочу, чтобы вы присоединились ко мне в этом путешествии и связались со мной по:

LinkedIn

Твиттер

Хашноде

Ваше здоровье !!.