在 Python 中实现线性回归算法有多种方式,以下是一种常用的方法:
1. 数据准备:将数据集划分为训练集和测试集,并进行特征缩放(将数据标准化)。
2. 导入必要的库: NumPy 和 Pandas 用于数据操作, Matplotlib 用于可视化。
3. 引入线性回归模型:引入 Scikit-Learn 中的线性回归模型,如下所示:
from sklearn.linear_model import LinearRegression
4. 创建线性回归对象:创建 LinearRegression() 对象。
lin_reg = LinearRegression()
5. 训练模型:使用训练集进行训练。
lin_reg.fit(X_train, y_train)
其中,X_train 是训练集特征,y_train 是训练集标签。
6. 预测结果:使用测试集进行预测。
y_pred = lin_reg.predict(X_test)
其中,y_pred 是测试集的预测标签。
7. 可视化:使用 Matplotlib 可视化结果。
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
# 读取数据
dataset = pd.read_csv('data.csv')
# 准备数据
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)
# 创建线性回归对象
lin_reg = LinearRegression()
# 训练模型
lin_reg.fit(X_train, y_train)
# 预测结果
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 数据集应该包含两列数据,第一列为特征,第二列为标签。