线性回归模型的具体事例
时间: 2024-10-22 17:00:17 浏览: 8
python实现简单的单变量线性回归方法
线性回归模型通常用来建立输入(自变量)和输出(因变量)之间的简单线性关系。下面通过两个案例来说明:
**案例1 - 散点图与线性回归**[^1]:
首先,我们创建一个简单的散点图以可视化数据。假设我们有身高(X轴)和体重(Y轴)的数据。在Python中,我们可以使用`matplotlib`库来绘制散点图,然后利用`sklearn`库中的`LinearRegression`类训练线性回归模型。
```python
# 导入所需库
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
# 假设有一个身高和体重的数据集
heights = [160, 170, 175, 180, 185, 190]
weights = [50, 60, 65, 70, 75, 80]
# 创建线性回归模型并拟合数据
model = LinearRegression()
model.fit(heights.reshape(-1, 1), weights)
# 绘制散点图和回归线
plt.scatter(heights, weights)
plt.plot(heights, model.predict(heights.reshape(-1, 1)), color='red')
plt.show()
```
在这个例子中,模型会尝试找到一条直线,使得所有样本点尽可能地接近这条直线,从而最小化残差平方和。
**案例2 - 评估线性回归模型**:
评估线性回归模型常用的方法包括均方误差(MSE)、决定系数(R^2)等。例如,我们可以使用Scikit-Learn库的`mean_squared_error`和`r2_score`函数来计算模型在测试集上的性能。
```python
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score
# 分割数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练模型
model.fit(X_train, y_train)
# 预测并计算指标
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print(f"Mean Squared Error (MSE): {mse}")
print(f"R-squared (R^2): {r2}")
```
这些指标可以帮助我们了解模型在新数据上的预测效果。
阅读全文