Rumah > Artikel > pembangunan bahagian belakang > Contoh regresi rabung dalam Python
Regression ridge ialah kaedah regresi linear yang biasa digunakan Ia boleh mencapai hasil yang lebih baik daripada regresi kuasa dua terkecil biasa apabila menangani masalah multikolineariti, dan juga boleh digunakan untuk pemilihan ciri.
Python ialah bahasa pengaturcaraan yang berkuasa, dan sangat mudah untuk menggunakan Python untuk analisis regresi rabung. Artikel ini akan memperkenalkan cara menggunakan Python untuk melakukan analisis regresi rabung melalui contoh.
Pertama, kita perlu mengimport perpustakaan yang diperlukan, seperti yang ditunjukkan di bawah:
import pandas as pd import numpy as np from sklearn.linear_model import Ridge from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error
Data yang digunakan dalam contoh ini ialah data harga perumahan Boston ini mengandungi 13 rumah yang berbeza di kawasan Boston pada tahun 1970-an Maklumat tentang ciri dan harganya. Kita boleh membaca data masuk melalui fungsi read_csv dalam perpustakaan panda, seperti yang ditunjukkan di bawah:
data = pd.read_csv('Boston.csv')
Seterusnya, kita perlu membahagikan set data kepada set latihan dan set ujian. Ini boleh dicapai menggunakan fungsi train_test_split dalam pustaka scikit-learn, seperti yang ditunjukkan di bawah:
X = data.iloc[:, :-1].values y = data.iloc[:, -1].values X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)
Sebelum melatih model regresi rabung, kita perlu menormalkan data untuk memastikan julat nilai ciri yang berbeza sangat berbeza. . boleh membandingkan kesannya pada pembolehubah sasaran. Kita boleh menggunakan fungsi StandardScaler dalam perpustakaan scikit-learn untuk penyeragaman, kodnya adalah seperti berikut:
from sklearn.preprocessing import StandardScaler sc_X = StandardScaler() X_train = sc_X.fit_transform(X_train) X_test = sc_X.transform(X_test)
Kemudian kita boleh mentakrifkan model regresi rabung dan memasukkannya ke dalam set data latihan kami untuk latihan, kodnya ialah seperti berikut Ditunjukkan:
ridge = Ridge(alpha=0.1) ridge.fit(X_train, y_train)
Nilai alfa ialah hiperparameter dan model perlu dioptimumkan dengan melaraskan parameter. Kita boleh memilih hiperparameter optimum dengan menilai keputusan ramalan pada set latihan dan ujian. Dalam contoh ini, kami memilih untuk melakukan pengesahan silang pada nilai alfa untuk memilih hiperparameter optimum Kodnya adalah seperti berikut:
from sklearn.model_selection import GridSearchCV ridge_params = {'alpha': [0.001, 0.01, 0.1, 1, 10]} ridge_grid = GridSearchCV(estimator=Ridge(), param_grid=ridge_params, cv=10, scoring='neg_mean_squared_error') ridge_grid.fit(X_train, y_train) print("Best alpha:", ridge_grid.best_params_['alpha'])
Melalui pengesahan silang, kami memilih nilai alfa optimum untuk menjadi 0.1.
Seterusnya, kita boleh membuat ramalan pada set ujian dan menilai keputusan ramalan. Kita boleh menggunakan fungsi mean_squared_error dalam perpustakaan scikit-learn untuk mengira ralat min kuasa dua, kodnya adalah seperti berikut:
y_pred = ridge.predict(X_test) mse = mean_squared_error(y_test, y_pred) print("Mean Squared Error:", mse)
Akhir sekali, kita boleh menggunakan perpustakaan matplotlib untuk melukis plot taburan nilai ramalan dan nilai benar untuk lebih memahami kesan ramalan model. Kodnya adalah seperti berikut:
import matplotlib.pyplot as plt plt.scatter(y_test, y_pred) plt.xlabel("True Values") plt.ylabel("Predictions") plt.show()
Ringkasnya, analisis regresi rabung dalam Python sangat mudah Menggunakan fungsi pustaka scikit-learn boleh membantu kami menilai dan memvisualisasikan hasil ramalan dengan mudah.
Atas ialah kandungan terperinci Contoh regresi rabung dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!