Ejemplo de regresión lineal múltiple

1. Antecedentes de ejemplo

Supongamos que [profesionalismo] [velocidad de respuesta] [días activos del grupo de usuarios] estos tres factores afectan conjuntamente [puntuación de recomendación]
inserte la descripción de la imagen aquí

2. Objetivos de la misión

Entrene un modelo para predecir [puntuación de recomendación] en función de [profesionalismo] [velocidad de respuesta] [días activos del grupo de usuarios]

3. Implementación del aprendizaje automático

1. Pasos básicos

Realiza todo el proceso:

inserte la descripción de la imagen aquí

1.1 Construcción de modelos

El objetivo de la tarea es realizar la predicción del valor real, y hay 3 factores que afectan la [puntuación recomendada]: por lo tanto, se debe establecer un " modelo de regresión múltiple "
en sklearn, ya sea lineal único o múltiple. regresión, se establece la ecuación de regresión lineal real, por lo que el código central para construir el modelo es

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

1.2 Modelo de aprendizaje

1) Determinar la función de pérdida: el método de mínimos cuadrados
2) La forma óptima de resolver el índice de cálculo: sklearn utiliza por defecto la forma de solución analítica de derivación

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

1.3 Modelo de medición

Los indicadores de medición del modelo de clasificación-regresión logística son: R²
El código central es el siguiente:

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

2. Código

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. Salida

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_50348308/article/details/130845820
Recomendado
Clasificación