Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Contoh algoritma peningkatan kecerunan (GBM) dalam Python

Contoh algoritma peningkatan kecerunan (GBM) dalam Python

WBOY
WBOYasal
2023-06-10 16:51:071750semak imbas

Contoh algoritma penggalak kecerunan (GBM) dalam Python

Peningkatan kecerunan (GBM) ialah kaedah pembelajaran mesin yang mengurangkan fungsi kehilangan secara beransur-ansur dengan melatih model secara berulang. Ia mempunyai keputusan aplikasi yang baik dalam kedua-dua masalah regresi dan klasifikasi, dan merupakan algoritma pembelajaran ensemble yang berkuasa. Artikel ini akan menggunakan Python sebagai contoh untuk memperkenalkan cara menggunakan algoritma GBM untuk memodelkan masalah regresi.

Mula-mula kita perlu mengimport beberapa perpustakaan Python yang biasa digunakan, seperti yang ditunjukkan di bawah:

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.metrics import mean_squared_error

Dalam kes ini, kami akan menggunakan set data Penilaian Kereta untuk pemodelan, yang mengandungi 6 atribut dan 1 kategori pembolehubah. Kami akan menggunakan pembolehubah atribut ini untuk meramalkan harga kenderaan. Mula-mula, kita perlu membaca fail CSV ke dalam Pandas DataFrame seperti yang ditunjukkan di bawah:

data=pd.read_csv("car_data_1.csv")

Seterusnya, kita perlu membahagikan data asal kepada set latihan dan set ujian. Kami menggunakan 80% daripada data sebagai set latihan dan 20% daripada data sebagai set ujian.

train_data, test_data, train_label, test_label = train_test_split(data.iloc[:,:-1], data.iloc[:,-1], test_size=0.2, random_state=1)

Kemudian kita perlu melaksanakan kejuruteraan ciri untuk mengekod pembolehubah kategori ke dalam pembolehubah tiruan. Di sini kami menggunakan fungsi get_dummies Pandas.

train_data = pd.get_dummies(train_data)
test_data = pd.get_dummies(test_data)

Kini kita boleh membina model GBM. Mula-mula, kami memulakan model dan kemudian menetapkan parameter. Di sini, kami menetapkan bilangan lelaran model (n_estimators) kepada 100 dan parameter kadar pembelajaran (learning_rate) kepada 0.1.

model = GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, random_state=1)

Seterusnya, kami menyesuaikan model menggunakan data set latihan:

model.fit(train_data,train_label)

Seterusnya, kami menilai prestasi model menggunakan data set ujian. Di sini, kami menggunakan ralat min kuasa dua (MSE) untuk menilai prestasi model. Kodnya kelihatan seperti ini:

pred=model.predict(test_data)
mse=mean_squared_error(test_label, pred)
print("MSE:",mse)

Akhir sekali, kita boleh meneroka lebih lanjut kepentingan pembolehubah dalam model GBM. Kita boleh menggunakan fungsi feature_importances_ sklearn untuk mendapatkannya.

feat_imp = pd.Series(model.feature_importances_, index=train_data.columns).sort_values(ascending=False)
print(feat_imp)

Ringkasnya, artikel ini menunjukkan cara melaksanakan algoritma GBM menggunakan perpustakaan sklearn Python. Kami menggunakan set data Penilaian Kereta untuk meramalkan harga kenderaan dan menilai prestasi model, dan kami juga boleh mendapatkan skor kepentingan pembolehubah. GBM mempunyai kesan aplikasi yang baik dalam pembelajaran mesin dan merupakan algoritma pembelajaran ensemble yang berkuasa.

Atas ialah kandungan terperinci Contoh algoritma peningkatan kecerunan (GBM) dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn