Содержание:
История Света ГБМ
Что такое 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 является ценным инструментом для любого специалиста по обработке данных или специалиста по машинному обучению.
Нажмите на ссылку ниже, чтобы узнать больше о «Анкуш Мулкар».