Содержание:

История Света ГБМ

Что такое LightGBM?

Шаги по использованию Light GBM с кодом

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

Приложение

Заключение

История легких ГБМ

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

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

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

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

Что такое LightGBM?

LightGBM (Light Gradient Boosting Machine) — это высокопроизводительная среда повышения градиента, использующая алгоритмы обучения на основе дерева. Это библиотека машинного обучения с открытым исходным кодом, разработанная Microsoft и разработанная для обеспечения эффективности, масштабируемости и точности.

LightGBM особенно полезен для работы с большими наборами данных и многомерными пространствами признаков, поскольку он способен быстро обрабатывать большие объемы данных и при относительно низком использовании памяти. Это достигается за счет использования нового метода под названием «Односторонняя выборка на основе градиента» (GOSS), который выборочно отбирает только более крупные экземпляры градиента в процессе обучения. Это значительно снижает вычислительные затраты и делает LightGBM быстрее, чем другие популярные фреймворки для повышения градиента.

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

Шаги по использованию LightGBM с кодом:

Шаг 1: Установите LightGBM

Во-первых, вам нужно установить LightGBM на свой компьютер. Вы можете использовать pip для установки библиотеки:

pip install lightgbm

Шаг 2: Загрузите данные

Затем вам нужно загрузить данные в фрейм данных pandas. В этом примере мы будем использовать набор данных iris, который включен в scikit-learn. Вы можете загрузить набор данных следующим образом:

from sklearn.datasets import load_iris
import pandas as pd

data = load_iris()
X = pd.DataFrame(data.data, columns=data.feature_names)
y = pd.Series(data.target)

Шаг 3: Разделите данные

Теперь, когда мы загрузили данные, нам нужно разделить их на наборы для обучения и тестирования. Для этого мы можем использовать функцию train_test_split из scikit-learn:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

Шаг 4: Обучите модель

Теперь мы можем обучить модель LightGBM на обучающих данных. Сначала нам нужно создать объект набора данных LightGBM из обучающих данных:

import lightgbm as lgb

train_data = lgb.Dataset(X_train, label=y_train)

Шаг 5: мы можем указать гиперпараметры для модели. В этом примере мы будем использовать следующие гиперпараметры:

params = {
    "objective": "multiclass",
    "num_classes": 3,
    "metric": "multi_logloss",
    "num_leaves": 31,
    "learning_rate": 0.05,
    "feature_fraction": 0.9,
    "bagging_fraction": 0.8,
    "bagging_freq": 5,
    "verbose": -1
}

Шаги 6: мы можем обучить модель с помощью функции обучения:

model = lgb.train(params, train_data, 100)

Шаг 7: Оцените модель

Теперь мы можем оценить модель на данных тестирования. Сначала нам нужно создать объект набора данных LightGBM из данных тестирования:

test_data = lgb.Dataset(X_test, label=y_test)

Шаг 8: мы можем использовать функцию прогнозирования для создания прогнозов на данных тестирования.

y_pred = model.predict(X_test)

Шаг 9: мы можем рассчитать точность модели

import numpy as np

y_pred_class = np.argmax(y_pred, axis=1)
accuracy = (y_pred_class == y_test).mean()
print("Accuracy:", accuracy)

Преимущества LightGBM

Скорость:

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

Эффективность:

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

Точность:

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

Гибкость:

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

LightGBM можно использовать в различных приложениях, в том числе:

Прогнозное моделирование:

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

Системы рекомендаций:

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

Рейтинг:

LightGBM можно использовать для ранжирования результатов поиска или рекламы на основе релевантности.

Обработка естественного языка:

LightGBM можно использовать для создания моделей для анализа тональности, классификации текста и распознавания именованных сущностей.

Компьютерное зрение:

LightGBM можно использовать для создания моделей для классификации изображений, обнаружения объектов и семантической сегментации.

Заключение

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

Нажмите на ссылку ниже, чтобы узнать больше о «Анкуш Мулкар».

Портфолио Анкуша Мулкара на Github

www.linkedin.com/in/ankushmulkar

АнкушМулкар (инженер по машинному обучению) (github.com)