Rumah > Artikel > pembangunan bahagian belakang > Contoh algoritma peningkatan kecerunan (GBM) dalam Python
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!