Contoh algoritma peningkatan kecerunan (GBM) dalam Python

WBOY
Lepaskan: 2023-06-10 16:51:07
asal
1758 orang telah melayarinya

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
Salin selepas log masuk

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")
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk

Seterusnya, kami menyesuaikan model menggunakan data set latihan:

model.fit(train_data,train_label)
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan