多元線性回歸是一種廣泛應用于數據分析和機器學習的統計模型。它通過使用多個自變量來預測一個或多個因變量的值。在Python中,我們可以使用許多不同的庫和框架來實現多元線性回歸模型,例如NumPy、Pandas和Scikit-Learn等。
下面,我們將使用Scikit-Learn庫來構建一個多元線性回歸模型,以預測房屋價格。在這個例子中,我們將使用房價數據集的數據。該數據集包含506個樣本和13個自變量,包括城鎮犯罪率、房屋平均房間數、房屋年齡等。
首先,我們需要導入所需的庫和數據集:
import numpy as np import pandas as pd from sklearn.datasets import load_boston boston = load_boston() X = pd.DataFrame(boston.data, columns=boston.feature_names) y = pd.DataFrame(boston.target, columns=['MEDV'])
登錄后復制
在這里,我們使用Pandas庫將數據集加載到DataFrame對象中,并將自變量和因變量分別存儲在X和y中。
接下來,我們需要將數據集分成訓練集和測試集。訓練集用于擬合模型,而測試集用于評估模型的性能。
from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
登錄后復制
在這里,我們使用Scikit-Learn庫中的train_test_split函數將數據集分成訓練集和測試集。我們使用test_size參數指定測試集的大小,并使用random_state參數設置隨機種子以確保結果的可重復性。
接下來,我們可以使用線性回歸模型來擬合數據集。
from sklearn.linear_model import LinearRegression regressor = LinearRegression() regressor.fit(X_train, y_train)
登錄后復制
這里,我們使用Scikit-Learn庫中的LinearRegression類來創建一個線性回歸模型,并使用fit方法來擬合訓練數據。
現在,我們可以使用模型來預測測試集中的房屋價格。
y_pred = regressor.predict(X_test)
登錄后復制
在這里,我們使用predict方法來預測測試集中的房屋價格。
最后,我們可以使用Scikit-Learn庫中的一些評估指標來評估模型的性能。
from sklearn.metrics import mean_squared_error, r2_score print('Mean squared error: %.2f' % mean_squared_error(y_test, y_pred)) print('Coefficient of determination: %.2f' % r2_score(y_test, y_pred))
登錄后復制
在這里,我們使用mean_squared_error函數來計算均方誤差,使用r2_score函數來計算決定系數。這些指標可以幫助我們了解模型的性能和準確度。
總之,使用Python進行多元線性回歸模型設計可以非常簡單。我們只需要導入所需的庫和數據集,擬合模型并使用一些評估指標來評估模型的性能。在實際應用中,我們需要對數據進行探索性數據分析、特征工程和模型優化,以獲得更好的預測結果。