线性回归概述
线性回归是一种最常用的预测模型,它通过建立自变量与因变量之间的线性关系来进行预测。线性回归方程通常表示为:
\[ Y = \beta_0 + \beta_1X + \epsilon \]
其中,\( Y \) 是因变量,\( X \) 是自变量,\( \beta_0 \) 是截距,\( \beta_1 \) 是斜率,\( \epsilon \) 是误差项。
## Python实现线性回归
我们可以使用Python的`scikit-learn`库来实现线性回归模型。以下是完整的代码示例:
```python
# 导入所需库
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
# 创建模拟数据集
np.random.seed(0)
X = np.random.rand(100, 1) # 生成100个随机数作为自变量
Y = 2 + 3 * X + np.random.randn(100, 1) # 生成因变量,斜率为3,截距为2,加入随机噪声
# 数据集划分:80%训练集,20%测试集
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=42)
# 创建线性回归模型实例
linear_regression = LinearRegression()
# 模型训练
linear_regression.fit(X_train, Y_train)
# 模型预测
Y_pred = linear_regression.predict(X_test)
# 评估模型
mse = mean_squared_error(Y_test, Y_pred)
print("均方误差(MSE):", mse)
# 绘制结果
plt.scatter(X_test, Y_test, color='blue', label='实际值')
plt.plot(X_test, Y_pred, color='red', linewidth=2, label='预测值')
plt.xlabel('自变量 X')
plt.ylabel('因变量 Y')
plt.legend()
plt.show()
```
这段代码首先导入了所需的库,然后创建了一个模拟数据集。接着,将数据集划分为训练集和测试集。使用`LinearRegression`类创建线性回归模型实例,并通过调用`fit()`方法进行训练。之后,使用`predict()`方法进行预测。最后,通过计算均方误差来评估模型性能,并绘制实际值与预测值的散点图来展示结果。
希望这篇文章对你有所帮助!如果你有其他问题或需要进一步的解释,请随时提问。