运用Advertising and Sales数据做一元线性分析,写出python代码,并画出线性图
时间: 2024-02-11 12:04:16 浏览: 115
好的,以下是使用Python进行一元线性回归分析的示例代码,并画出线性图:
```
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
# 读取数据集
data = pd.read_csv('Advertising.csv')
# 定义自变量和因变量
X = data['TV'].values.reshape(-1,1)
y = data['Sales'].values.reshape(-1,1)
# 训练模型
reg = LinearRegression()
reg.fit(X, y)
# 预测
y_pred = reg.predict(X)
# 计算 R2 得分
r2 = r2_score(y, y_pred)
# 打印 R2 得分
print('R2 score:', r2)
# 绘制图形
plt.scatter(X, y, color='blue')
plt.plot(X, y_pred, color='red', linewidth=2)
plt.title('Linear Regression')
plt.xlabel('TV Advertising')
plt.ylabel('Sales')
plt.show()
```
在这个示例中,我们使用Pandas库读取Advertising.csv文件,然后使用NumPy库将自变量和因变量分别定义为X和y。接下来,我们使用Scikit-learn库中的LinearRegression类训练模型,并使用r2_score函数计算R2得分。最后,我们使用Matplotlib库绘制散点图和回归线。
运行后,您将会看到一个名为“Linear Regression”的窗口,其中包含一个散点图和一条红色的回归线,代表了一元线性回归模型的拟合程度。
阅读全文