多元线性回归实例

一、实例背景

假设【专业度】【回复速度】【用户群活跃天数】这三个因素,共同影响【推荐分值】
在这里插入图片描述

二、任务目标

训练出一个模型,来实现根据【专业度】【回复速度】【用户群活跃天数】,来预测【推荐分值】

三、机器学习实现

1. 核心步骤

实现全流程:

在这里插入图片描述

1. 1 建立模型

任务目标是实现预测实值,且影响【推荐分值】的有3个因素:因此应建立“多元回归模型
在sklearn中,无论是一元还是多元线性回归,实际都是建立线性回归方程,因此建立模型核心代码为

# 1. 建立模型:逻辑回归模型
classifier = linear_model.LinearRegression()

1.2 学习模型

1)确定损失函数:最小二乘法
2)求解计算指标最优的方式:sklearn默认为求导-解析解的方式

# 2. 学习模型
classifier.fit(X,Y) 

1.3 衡量模型

分类-逻辑回归模型的衡量指标分别为:R²
核心代码如下:

# 3. 衡量模型
r2 = reg.score(X,Y)

2. 代码

from sklearn import linear_model
import pandas as pd
import matplotlib.pyplot as plt

# 获取所需数据:'推荐分值', '专业度','回复速度','用户群活跃天数'
datas = pd.read_excel('./datas1.xlsx')
important_features = ['推荐分值', '专业度','回复速度','用户群活跃天数']
datas_1 = datas[important_features]

# 明确实值Y为'推荐分值',X分别为'专业度','回复速度','用户群活跃天数'
Y = datas_1['推荐分值']
X = datas_1.drop('推荐分值',axis=1)

# 1. 建立模型
reg = linear_model.LinearRegression()

# 2. 学习模型
reg.fit(X,Y)
w = reg.coef_
b = reg.intercept_

# 3. 衡量模型
r2 = reg.score(X,Y)


# 输出模型最优状态下的参数W和b,R²分数
for index,value in enumerate(zip(X.columns,w)):
    print(f"【{
      
      value[0]}】参数w{
      
      index+1}:",value[1])
print("偏差b,或参数w0:",b)
print("多元线性回归模型的r²分数为:",r2)

3. 输出

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_50348308/article/details/130845820