使用 sklearn 库进行一元线性回归分析。 输出线性回归模型的系数和截距。 预测广告投入为38千元时的销售量。 绘制散点图(实际数据点)和回归线。
时间: 2024-10-15 14:28:24 浏览: 37
在Python中,使用`scikit-learn (sklearn)`库进行一元线性回归分析通常包括以下几个步骤:
1. 导入所需的库:
```python
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
import numpy as np
```
2. 准备数据集(假设有一个名为`X`的特征列和一个名为`y`的目标列):
```python
# 假设 X 是一个二维数组,每行代表一个样本,一列是广告投入
# y 是对应的销售量
X = ... # 形如 (n_samples, 1) 的输入数据
y = ... # 形如 (n_samples,) 的目标数据
```
3. 划分训练集和测试集:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
4. 创建并训练线性回归模型:
```python
model = LinearRegression()
model.fit(X_train, y_train)
```
5. 获取模型的系数(斜率)和截距:
```python
coefficient = model.coef_[0] # 单变量模型只有一个系数
intercept = model.intercept_ # 截距值
print(f"系数: {coefficient}, 截距: {intercept}")
```
6. 预测特定广告投入的销售量:
```python
prediction = model.predict([[38000]]) # 对于38000元的广告投入预测销售量
print(f"预测销售量: {prediction[0]}")
```
7. 绘制散点图和回归线:
```python
plt.scatter(X_test, y_test, label="实际数据")
plt.plot(X_test, model.predict(X_test), color='r', label="回归线")
plt.xlabel('广告投入')
plt.ylabel('销售量')
plt.legend()
plt.show()
```
以上就是在`sklearn`库中进行一元线性回归分析的基本过程。请注意,你需要根据实际情况提供数据准备的具体细节。
阅读全文