Makine Öğrenmesi - II. Doğrusal Olmayan İlişkiler (Non-Linear Relationships)

LightGBM (Hafif Gradyan Artırma Makinesi)

Yayın tarihi :11-Oca-22
Bölüm kodlarını ve/veya veri setlerini indir.

LightGBM (Light Gradient Boosted Machine - Hafif Gradyan Artırma Makinesi), modelin verimliğini artırmak ve bellek kullanımını azaltmak için kullanılan XGBoost ile birlikte popülerliği artan bir kütüphanedir.

Kullanım için ilk olarak lightgbm'in indirilmesi ve içe aktarılması gerekmektedir.

pip install lightgbm
from lightgbm import LGBMRegressor

Söz dizimi: LGBMRegressor(boosting_type='gbdt', class_weight=None, colsample_bytree=1.0, importance_type='split', learning_rate=0.1, max_depth: -1, min_child_samples=20, min_child_weight=0.001, min_split_gain=0.0, n_estimators=100, n_jobs=-1, num_leaves=31, objective=None, random_state=None, reg_alpha=0.0, reg_lambda=0.0, silent='warn', subsample=1.0, subsample_for_bin= 200000, subsample_freq= 0)

Örnek-1: Sklearn paketi altında bulunan diabets veri setine LightGBM algoritması uygulayalım.

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
import warnings
warnings.filterwarnings("ignore")

from sklearn.model_selection import train_test_split
from sklearn import datasets
from sklearn.metrics import mean_squared_error,r2_score,mean_absolute_error

from lightgbm import LGBMRegressor
dataset=datasets.load_diabetes()
x,y=dataset.data,dataset.target
print("x'in 1. satırı={}".format(x[0:1]))
print("y'in 1. satırı={}".format(y[0:1]))

Çıktı:

x'in 1. satırı=[[ 0.03807591  0.05068012  0.06169621  0.02187235 -0.0442235  -0.03482076
  -0.04340085 -0.00259226  0.01990842 -0.01764613]]
y'in 1. satırı=[151.]
#Train ve test işlemlerinde kullanılacak değerleri ayıralım
x_train,x_test,y_train,y_test=train_test_split(x,y,random_state=13,test_size=.2)
x_train.shape,x_test.shape,y_train.shape,y_test.shape

Çıktı:

((353, 10), (89, 10), (353,), (89,))
LGBM=LGBMRegressor()
#Model Eğitimi
LGBM.fit(x_train,y_train)
#Model Tahminleme
predict_LGBM=LGBM.predict(x_test)
#MSE değeri
mean_squared_error(y_test, predict_LGBM)

Çıktı:

3755.0548053748344
#Doğruluk yüzdesi
r2_score(y_test,predict_LGBM)*100

Çıktı:

23.42935851714365
Paylaş:

Yorum Yap (*Yorumunuza kod eklemek isterseniz Kod Parçacığı Ekle butonuna tıklayarak ekleyebilirsiniz.)

Yorumlar

Henüz hiç yorum yapılmamış, ilk yorum yapan sen ol.