在 Python 中實(shí)現(xiàn)線性回歸算法有多種方式,以下是一種常用的方法:
1. 數(shù)據(jù)準(zhǔn)備:將數(shù)據(jù)集劃分為訓(xùn)練集和測試集,并進(jìn)行特征縮放(將數(shù)據(jù)標(biāo)準(zhǔn)化)。
2. 導(dǎo)入必要的庫: NumPy 和 Pandas 用于數(shù)據(jù)操作, Matplotlib 用于可視化。
3. 引入線性回歸模型:引入 Scikit-Learn 中的線性回歸模型,如下所示:
from sklearn.linear_model import LinearRegression
4. 創(chuàng)建線性回歸對(duì)象:創(chuàng)建 LinearRegression() 對(duì)象。
lin_reg = LinearRegression()
5. 訓(xùn)練模型:使用訓(xùn)練集進(jìn)行訓(xùn)練。
lin_reg.fit(X_train, y_train)
其中,X_train 是訓(xùn)練集特征,y_train 是訓(xùn)練集標(biāo)簽。
6. 預(yù)測結(jié)果:使用測試集進(jìn)行預(yù)測。
y_pred = lin_reg.predict(X_test)
其中,y_pred 是測試集的預(yù)測標(biāo)簽。
7. 可視化:使用 Matplotlib 可視化結(jié)果。
plt.scatter(X_test, y_test, color='red')
plt.plot(X_test, y_pred, color='blue')
plt.title('Linear Regression')
plt.xlabel('Independent Variable')
plt.ylabel('Dependent Variable')
plt.show()
完整代碼示例:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
# 讀取數(shù)據(jù)
dataset = pd.read_csv('data.csv')
# 準(zhǔn)備數(shù)據(jù)
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, 1].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=1/3, random_state=None)
# 特征縮放
from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)
# 創(chuàng)建線性回歸對(duì)象
lin_reg = LinearRegression()
# 訓(xùn)練模型
lin_reg.fit(X_train, y_train)
# 預(yù)測結(jié)果
y_pred = lin_reg.predict(X_test)
# 可視化
plt.scatter(X_test, y_test, color='red')
plt.plot(X_test, y_pred, color='blue')
plt.title('Linear Regression')
plt.xlabel('Independent Variable')
plt.ylabel('Dependent Variable')
plt.show()
注:data.csv 數(shù)據(jù)集應(yīng)該包含兩列數(shù)據(jù),第一列為特征,第二列為標(biāo)簽。