Шпаргалка по Scikit Learn: полный глоссарий Scikit Learn

Если вы программист Python, ищущий надежную библиотеку для создания моделей машинного обучения, то библиотека, которую вы захотите серьезно рассмотреть, — это scikit-learn. В этой шпаргалке по scikit learn вы получите обзор некоторых наиболее распространенных функций и инструментов, доступных в библиотеке scikit-learn, и эта шпаргалка по scikit learn будет работать как ваш go to scikit learn глоссарий.

Станьте экспертом в области науки о данных и получите работу своей мечтыПрограмма аспирантуры Калифорнийского технологического института по науке о данныхИзучить программуСтаньте экспертом в области науки о данных и получите работу своей мечты

Шпаргалка по Scikit Learn

В этой шпаргалке по scikit learn вы узнаете о:

  • Scikit Learn Tool (надежная библиотека, доступная на Python)
  • Загрузка набора данных (различные способы загрузки данных в Scikit изучаются перед построением моделей)
  • Представление данных (различные способы представления данных в Scikit Learn)
  • Estimator API (один из основных API, реализованных Scikit-learn)
  • Линейная регрессия (для расширения линейных моделей)

  • Стохастический градиентный спуск (метод оптимизации для обучения моделей)
  • Обнаружение аномалий (для выявления точек данных, которые не соответствуют остальным данным в наборе данных)
  • Обучение KNN (K-ближайший сосед (KNN) — простой алгоритм машинного обучения)
  • Методы усиления (для построения ансамблевой модели пошаговым способом)
  • Методы кластеризации (для поиска закономерностей среди выборок данных и объединения их в группы)

Scikit Learn — одна из самых популярных и надежных библиотек, доступных на Python. Она предоставляет ряд эффективных инструментов для машинного обучения и статистического моделирования. Сюда входят регрессия, кластеризация, классификация и снижение размерности через последовательный интерфейс на Python. Библиотека в основном написана на Python, но построена на NumPy, SciPy и Matplotlib.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Загрузка набора данных

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

Упакованные наборы данных

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

Загрузить из CSV

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

Представление данных

Scikit Learn предлагает несколько способов представления данных — например, таблицы, матрицы признаков или целевые массивы.

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

Таблицы — лучший способ представления данных в Scikit-learn. Они состоят из двумерной сетки данных со строками, представляющими отдельные элементы набора данных, и столбцами, представляющими величины, связанные с этими отдельными элементами.

Данные как матрица признаков

Матрица признаков — это табличная структура, которая хранится в переменной X и предполагается двумерной с формой (n_samples, n_features). Она в основном содержится в массиве NumPy или Pandas DataFrame. Как и в таблице, отдельные объекты описываются набором данных, а признаки представляют собой отдельные наблюдения, которые количественно описывают каждый образец.

Данные как целевой массив

Целевой массив или метка обозначается переменной Y. Обычно это 1D с длиной n_samples. Он в основном содержится в массиве NumPy или Pandas Series. Целевые массивы могут содержать как непрерывные числовые, так и дискретные значения.

Станьте экспертом в области науки о данных и получите работу своей мечтыПрограмма аспирантуры Калифорнийского технологического института по науке о данныхИзучить программуСтаньте экспертом в области науки о данных и получите работу своей мечты

API оценщика

Estimator API — один из основных API, реализованных Scikit-learn. Он обеспечивает согласованный интерфейс для широкого спектра приложений машинного обучения, поэтому все алгоритмы машинного обучения в Scikit-Learn реализованы через Estimator API. Объект, который обучается на данных (подгоняет данные), является оценщиком. Его можно использовать с любым алгоритмом, таким как классификация, регрессия, кластеризация или даже с трансформатором, который извлекает полезные признаки из необработанных данных.

Обобщенная линейная регрессия

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

Scikit_Learn_Шпаргалка_1.

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

Задача минимизации, таким образом, состоит в следующем:

Scikit_Learn_Шпаргалка_2

Где α — штраф регуляризации L2.

В следующей таблице приведены некоторые конкретные EDM и их единичные отклонения.

Scikit_Learn_Шпаргалка_3

Стохастический градиентный спуск

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

Преимущества SGD:

  • Эффективный
  • Простота реализации (множество возможностей для настройки кода).

Недостатки SGD:

  • Требуется ряд гиперпараметров
  • Чувствителен к масштабированию признаков

Обнаружение аномалий

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

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

Для обнаружения аномалий используются два метода: обнаружение выбросов и обнаружение новизны:

SНет

Метод

Описание

1

Обнаружение выбросов

  • Обучающие данные содержат выбросы, которые сильно отличаются от остальных данных.
  • Это также известно как неконтролируемое обнаружение аномалий.

2

Обнаружение новизны

  • Обучающие данные не содержат выбросов.
  • Это также известно как полуконтролируемое обнаружение аномалий.

Обучение КНН

K-Nearest Neighbor (KNN) — один из самых простых алгоритмов машинного обучения. Он не требует никаких точек обучающих данных; все обучающие данные используются на этапе тестирования. Алгоритм k-NN состоит из двух шагов:

Шаг 1: Вычислить и сохранить k ближайших соседей для каждого образца в обучающем наборе.

Шаг 2: Извлечь k ближайших соседей из набора данных. Среди этих k-ближайших соседей предсказать класс путем голосования.

Модуль sklearn.neighbors обеспечивает функциональность для неконтролируемых и контролируемых методов обучения KNN.

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

Модуль sklearn.neighbors.NearestNeighbors используется для реализации неконтролируемого обучения KNN. В этом модуле используются следующие параметры.

SНет

Параметр

Описание

1

n_neighbors − int, необязательно

  • Определите количество соседей для извлечения
  • Значение по умолчанию — 5.

2

радиус − float, необязательно

  • Ограничивает расстояние до соседей, на которое нужно вернуться
  • Значение по умолчанию — 1,0.

3

алгоритм − {'auto', 'ball_tree', 'kd_tree', 'brute'}, необязательно

  • Берет алгоритм, который вы хотите использовать для вычисления ближайших соседей.
  • Если установить значение «auto», будет выбран наиболее подходящий алгоритм на основе значений, переданных методу fit.

4

leaf_size − int, необязательно

  • Влияет на скорость построения, запроса и объем памяти, необходимый для хранения дерева.
  • Значение по умолчанию — 30.

5

метрика − строка или вызываемая

  • Вычисляет расстояние между точками.
  • Может быть передан как строка или вызываемая функция

6

P − целое число, необязательно

  • Параметр для метрики Минковского
  • Значение по умолчанию — 2.

7

metric_params − dict, необязательно

  • Дополнительные ключевые аргументы для метрической функции.
  • Значение по умолчанию — Нет.

8

N_jobs − int или None, необязательно

  • Представляет количество параллельных заданий, которые необходимо выполнить для поиска соседей.
  • Значение по умолчанию — Нет.

Контролируемое обучение KNN

Обучение KNN с учителем используется для классификации (для данных с дискретными метками) и регрессии (для данных с непрерывными метками). Существуют два различных типа классификаторов ближайшего соседа, используемых scikit-learn:

SНет

Классификаторы

Описание

1.

KNeighborsClassifier

  • Реализует обучение на основе k ближайших соседей.
  • Выбор значения k зависит от данных.

2.

РадиусСоседиКлассификатор

  • Он реализует обучение на основе количества соседей в фиксированном радиусе каждой точки обучения.

Станьте экспертом в области науки о данных и получите работу своей мечтыПрограмма аспирантуры Калифорнийского технологического института по науке о данныхИзучить программуСтаньте экспертом в области науки о данных и получите работу своей мечты

Методы повышения

Методы повышения помогают вам построить модель ансамбля инкрементальным способом, обучая последовательно каждый оценщик базовой модели. Модуль sklearn.ensemble имеет два метода повышения – AdaBoost и Gradient Tree Boosting.

АдаБуст

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

Классификация с AdaBoost

Sklearn.ensemble.AdaBoostClassifier используется для построения классификатора в AdaBoost. Основным параметром этого модуля является base_estimator, который является значением базовой оценки, из которой строится усиленный ансамбль. Если мы установим значение этого параметра на «none», то базовой оценкой будет DecisionTreeClassifier(max_depth=1).

Усиление градиентного дерева

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

Классификация с градиентным усилением дерева

Для построения классификатора в Gradient Tree Boost используется sklearn.ensemble.GradientBoostingClassifier. Основным параметром этого модуля является 'loss', представляющий собой значение функции потерь, подлежащей оптимизации.

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

Методы кластеризации

Методы кластеризации используются для поиска сходств и закономерностей взаимоотношений между образцами данных и кластеризации их в группы, имеющие сходства на основе признаков. Следующие методы кластеризации доступны в библиотеке Scikit-learn sklearn.cluster.

SНет

Алгоритм

Параметры

Масштабируемость

Используемая метрика

1

K-средние

Количество кластеров

Очень большое n_samples

Расстояние между точками.

2

Распространение сродства

Демпфирование

Не масштабируется с n_samples

Расстояние графика

3

Средний сдвиг

Пропускная способность

Масштабирование с помощью n_samples невозможно.

Расстояние между точками.

4

Спектральная кластеризация

Количество кластеров

Средний уровень масштабируемости с n_samples. Низкий уровень масштабируемости с n_clusters.

Расстояние графика

5

Иерархическая кластеризация

Порог расстояния или количество кластеров

Большие n_samples Большие n_clusters

Расстояние между точками.

6

ДБСКАН

Размер района

Очень большое n_samples и среднее n_clusters.

Расстояние до ближайшей точки

7

ОПТИКА

Минимальное членство в кластере

Очень большие n_samples и большие n_clusters.

Расстояние между точками.

8

БЕРЕЗА

Порог, фактор ветвления

Большие n_samples Большие n_clusters

Евклидово расстояние между точками.

Изучите более дюжины инструментов и навыков науки о данных с программой PG по науке о данных и получите доступ к мастер-классам преподавателей Purdue. Зарегистрируйтесь сейчас и добавьте яркую звезду в свое резюме по науке о данных!

Хотите узнать больше?

Scikit-Learn — очень простой инструмент, который позволяет вам узнать, как все работает за кулисами. Как только вы освоите этот инструмент, вы сможете перейти к другим продвинутым инструментам, которые значительно упростят построение моделей. Если вы хотите узнать больше, вы можете ознакомиться с курсом Simplilearn Data Scientist, созданным совместно с IBM. Он включает эксклюзивные хакатоны IBM, мастер-классы, сессии «спроси меня о чем угодно» и живое взаимодействие с практиками, практические лабораторные работы и проекты. Начните этот курс сегодня и улучшите свою карьеру в области науки о данных.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

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