赞
踩
目录
线性回归是一种基本的回归分析方法,用于建模两个或多个变量之间的关系。其主要目标是通过一条直线(在简单线性回归中)或一个超平面(在多元线性回归中)来预测一个目标变量的值。
- # 一元线性回归
- import pandas as pd
- from matplotlib import pyplot as plt
- from sklearn.linear_model import LinearRegression
-
- data = pd.read_csv('data.csv')
-
- # 绘制散点图
- plt.scatter(data['广告投入'], data['销售额'])
- # plt.show()
-
- corr = data.corr() # 求x和y的相关系数
- # 估计模型参数,建立回归模型
- lr = LinearRegression() # 建立模型
- x = data[['广告投入']] # 特征数据
- y = data[['销售额']] # 结果数据
- lr.fit(x, y) # 训练模型 需要传入二维数据
-
- # 对回归模型进行检验
- result = lr.predict(x)
- score = lr.score(x, y) # 判断拟合优度 R方 [0,1] 越高越拟合
- # print(result)
- print(score)
-
- b = round(lr.intercept_[0], 2) # 查看截距 round()四舍五入至小数点后两位
- k = round(lr.coef_[0][0], 2) # 查看斜率
- print(f"线性回归模型为: y = {k}x + {b}")
-
- predict = lr.predict([[21], [23], [99]]) # 使用新数据进行预测
- print(predict)
- # 一元线性回归
- import pandas as pd
- from matplotlib import pyplot as plt
- from sklearn.linear_model import LinearRegression
data = pd.read_csv('data.csv')
代码:
- # 绘制散点图
- plt.scatter(data['广告投入'], data['销售额'])
- plt.show()
输出:
代码:
- # 求x和y的相关系数
- corr = data.corr()
输出:
- # 估计模型参数,建立回归模型
- lr = LinearRegression() # 建立模型
- x = data[['广告投入']] # 特征数据
- y = data[['销售额']] # 结果数据
- lr.fit(x, y) # 训练模型 需要传入二维数据
拟合优度是判断模型好坏的一个指标
代码:
- # 对回归模型进行检验
- result = lr.predict(x)
- score = lr.score(x, y) # 判断拟合优度 R方 [0,1] 越高越拟合
- # print(result)
- print(score)
输出:
0.8225092881166945
代码:
- # 获取线性回归模型方程
- b = round(lr.intercept_[0], 2) # 查看截距 round()四舍五入至小数点后两位
- k = round(lr.coef_[0][0], 2) # 查看斜率
- print(f"线性回归模型为: y = {k}x + {b}")
输出:
线性回归模型为: y = 3.74x + -36.36
代码:
- predict = lr.predict([[21], [23], [99]]) # 使用新数据进行预测
- print(predict)
输出:
- [[ 42.13436123]
- [ 49.61013216]
- [333.68942731]]
其实具体的步骤与之前的KNN算法差不多,这里多了一步求相关系数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。