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

Введение

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

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

ПРИМЕЧАНИЕ. Первоначально эта статья была опубликована на DataKwery — единственном в мире сайте для поиска ресурсов по науке о данных и машинному обучению в одном месте. (Ссылка на оригинал статьи — Нажмите здесь)

Оглавление:

  1. Линейная регрессия
  2. Логистическая регрессия:
  3. Опорные векторные машины
  4. Деревья решений
  5. Наивный Байес
  6. K-ближайшие соседи
  7. Искусственные нейронные сети
  8. Случайные леса
  9. Кластеризация K-средних
  10. Повышение градиента

Линейная регрессия

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

Вот фрагмент кода для реализации алгоритма линейной регрессии с использованием обучающей библиотеки sci-kit:

import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split

# Load the data into a Pandas dataframe
data = pd.read_csv("data.csv")

# Split the data into training and testing sets
X = data.drop("Dependent Variable", axis=1)
y = data["Dependent Variable"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, 
                                                    random_state=0)

# Train the model using the training data
regressor = LinearRegression()
regressor.fit(X_train, y_train)

# Predict the dependent variable using the test data
y_pred = regressor.predict(X_test)

Случаи использования:

  1. Оценка стоимости дома с использованием различных переменных, таких как площадь собственности, местоположение, количество спален и т. д.
  2. Модели прогнозирования цен на акции

Логистическая регрессия

Логистическая регрессия — это тип регрессионного анализа, который используется для решения задач классификации. Это статистический метод, который используется для моделирования связи между зависимой переменной и одной или несколькими независимыми переменными. Он использовал функцию «логит» для классификации результатов ввода по двум категориям. В отличие от линейной регрессии, логистическая регрессия используется для предсказания бинарного результата, такого как да/нет или правда/ложь.

Давайте посмотрим на кодовую реализацию алгоритма логистической регрессии с использованием библиотеки sklearn.

import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split

# Load the data into a Pandas dataframe
data = pd.read_csv("data.csv")

# Split the data into training and testing sets
X = data.drop("Dependent Variable", axis=1)
y = data["Dependent Variable"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, 
                                                    random_state=0)

# Train the model using the training data
classifier = LogisticRegression()
classifier.fit(X_train, y_train)

# Predict the dependent variable using the test data
y_pred = classifier.predict(X_test)

Случаи использования:

  1. Классификация кредитного риска
  2. Обнаружение мошенничества
  3. Классификация медицинских диагнозов

Опорные векторные машины

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

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

Случаи использования:

  1. Понимание изображения
  2. Распознавание речи
  3. Обработка естественного языка

Деревья решений

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

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

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

Случаи использования:

  1. Классификация одобрения кредита
  2. Классификация количества выпускников студентов
  3. Прогноз медицинских расходов
  4. Прогноз оттока клиентов

Наивный Байес

Наивный байесовский алгоритм — вероятностный алгоритм вывода для непрерывных (а не дискретных) данных. Это также известно как теорема Байеса, байесовский вывод и правило Байеса.

В своей простейшей форме Наивный Байес предполагает, что условная вероятность события при наличии свидетельства А пропорциональна произведению двух членов:

P(A|B) = (P(A) * P(B|A))/P(B)

Первый член представляет вероятность А при данном В, а второй член представляет вероятность В при данном А, умноженную на вероятность всего А, деленную на вероятность В.

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

Случаи использования:

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

K-ближайшие соседи

K-ближайшие соседи (KNN) — это алгоритм обучения с учителем, который используется для задач классификации и регрессии. Он работает, находя k-ближайшие точки данных к заданной точке данных, а затем используя метки этих точек данных для классификации данной точки данных.

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

Случаи использования:

  1. Система рекомендаций по продуктам
  2. Предотвращение мошенничества

Искусственные нейронные сети

Искусственные нейронные сети (ИНС) — это тип контролируемого алгоритма обучения, вдохновленный биологическими нейронами в человеческом мозге. Они используются для сложных задач, таких как распознавание изображений, обработка естественного языка и распознавание речи.

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

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

Случаи использования:

  1. Задачи классификации изображений
  2. Классификация текстов
  3. Языковой перевод
  4. Определение языка

Случайные леса

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

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

Случаи использования:

  1. Модели кредитного скоринга
  2. Предсказание медицинского диагноза
  3. Профилактическое обслуживание

Кластеризация K-средних

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

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

Случаи использования:

  1. Сегментация клиентов
  2. Обнаружение аномалий
  3. Сегментация медицинских изображений

Повышение градиента

Деревья повышения градиента (GBT) — это популярный алгоритм машинного обучения, который используется для задач классификации и регрессии. Это метод ансамбля, который объединяет несколько деревьев решений для создания более точной и стабильной модели. GBT работает путем последовательного добавления деревьев решений, где каждое новое дерево обучается исправлять ошибки предыдущих деревьев. Модель объединяет прогнозы всех деревьев, чтобы сделать окончательный прогноз.

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

Случаи использования:

  1. Обнаружение мошенничества
  2. Прогноз оттока клиентов

Это все для этой статьи! Надеюсь, вам понравилось, и не стесняйтесь оставить комментарий ниже о том, что вы узнали из этой статьи!

Свяжитесь со мной через Twitter и Github по любым вопросам, касающимся этой статьи👍