Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Contoh regresi linear berbilang pembolehubah dalam Python

Contoh regresi linear berbilang pembolehubah dalam Python

王林
王林asal
2023-06-10 13:57:151369semak imbas

Dalam bidang pembelajaran mesin, regresi linear ialah kaedah yang biasa digunakan. Regresi linear berbilang pembolehubah ialah kaedah yang boleh meramalkan hubungan linear antara satu atau lebih pembolehubah tidak bersandar dan pembolehubah bersandar Ia biasanya digunakan untuk meramalkan arah aliran pasaran seperti hartanah dan harga saham.

Python ialah bahasa pengaturcaraan yang sangat popular yang mudah dipelajari, ditulis dan nyahpepijat. Dalam Python, model regresi linear berbilang pembolehubah boleh dilaksanakan dengan mudah menggunakan perpustakaan Scikit-learn.

Dalam artikel ini, kami akan memperkenalkan regresi linear berbilang pembolehubah dalam Python melalui contoh ramalan harga rumah.

Import perpustakaan dan data

Untuk melaksanakan model regresi linear berbilang pembolehubah, kita perlu mengimport beberapa perpustakaan Python:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error

Data yang digunakan di sini berasal dari Boston pada Set data hartanah tapak web Kaggle. Kita boleh menggunakan fungsi read_csv dalam pustaka Pandas untuk membaca data daripada fail data:

data = pd.read_csv('Boston.csv')

Penerokaan dan visualisasi data

Sebelum membina model, kita harus meneroka data dan memahami setiap Pengedaran ciri dan hubungan antara ciri.

Kita boleh menggunakan fungsi huraikan dan fungsi corr dalam pustaka Pandas untuk memahami pengedaran ciri data dan perkaitan antara ciri. Antaranya, fungsi corr mengembalikan matriks pekali korelasi antara setiap ciri dan ciri lain.

print(data.describe())
print(data.corr())

Kami juga boleh menggunakan perpustakaan Matplotlib untuk menggambarkan data. Sebagai contoh, lukis plot serakan antara dua ciri:

plt.scatter(data['RM'], data['Price'])
plt.title('House Price vs Number of Rooms')
plt.xlabel('Number of Rooms')
plt.ylabel('Price')
plt.show()

Prapemprosesan data dan latihan model

Untuk melatih model regresi linear multivariate, kita perlu membahagikan data kepada dua bahagian: latihan set dan set ujian. Kita boleh menggunakan fungsi train_test_split dalam perpustakaan Scikit-learn untuk membahagikan set data secara rawak kepada set latihan dan set ujian:

X = data.drop(['Price'], axis=1)
y = data['Price']

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

Seterusnya, kita boleh menggunakan fungsi LinearRegression dalam perpustakaan Scikit-learn untuk memulakan model regresi linear berbilang pembolehubah dan gunakan set latihan agar sesuai dengan model:

model = LinearRegression()
model.fit(X_train, y_train)

Penilaian dan ramalan model

Untuk menilai prestasi model, kita boleh menggunakan set ujian untuk meramal rumah harga dan gunakan purata varians ( Mean Squared Error (MSE) untuk mengukur perbezaan antara keputusan ramalan dan keputusan sebenar. Kita boleh menggunakan fungsi mean_squared_error dalam perpustakaan Scikit-learn untuk mengira varians purata keputusan ramalan:

y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print(mse)

Jika nilai varians purata lebih kecil, ini bermakna keputusan ramalan model adalah lebih tepat.

Akhir sekali, kita boleh menggunakan model untuk meramalkan harga rumah baharu. Sebagai contoh, kami ingin meramalkan harga rumah yang mempunyai 6 bilik, 2 bilik air, adalah 4.5 batu dari daerah perniagaan, dsb. Kita boleh memasukkan nilai ciri ini ke dalam model dan menggunakan fungsi ramalan model untuk meramalkan harga rumah:

new_data = np.array([[6, 2, 4.5, 0, 0.4, 6, 79, 6.1, 5, 331, 17, 385, 11.3]])
new_prediction = model.predict(new_data)
print(new_prediction)

Harga ramalan rumah ini ialah lebih kurang $239,000.

Ringkasan

Dalam artikel ini, kami memperkenalkan cara melaksanakan model regresi linear berbilang pembolehubah dalam Python menggunakan fungsi LinearRegression bagi perpustakaan Scikit-learn. Kami menggunakan set data hartanah Boston sebagai contoh untuk menggambarkan langkah-langkah import data, penerokaan, visualisasi, prapemprosesan dan latihan model, penilaian dan ramalan. Saya harap artikel ini dapat membantu pembaca menguasai kaedah regresi linear berbilang pembolehubah dengan lebih baik dalam Python.

Atas ialah kandungan terperinci Contoh regresi linear berbilang pembolehubah 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