Python 线性回归模型:预测任务标价
本文将使用 Python 的 Pandas 和 Scikit-learn 库,构建一个线性回归模型来预测任务标价。我们将利用 Excel 文件中的会员信息数据进行训练和预测。
以下是代码示例,其中包括数据读取、缺失值处理、模型训练、方程输出和拟合优度评估等步骤:
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
# 读取 Excel 文件
data = pd.read_excel(r'D:\pythonProject3\会员信息\附件二:会员信息数据.xlsx')
data.dropna(inplace=True)
X = data[['信誉值均值', '预订任务限额均值', '商品周围商品个数', '会员点个数']]
y = data['任务标价']
# 填充缺失值
X.fillna(X.mean(), inplace=True)
y.fillna(y.mean(), inplace=True)
# 创建线性回归模型
model = LinearRegression()
# 训练模型
model.fit(X, y)
# 输出方程系数
coefficients = model.coef_
intercept = model.intercept_
print('方程:y = {}x1 + {}x2 + {}x3 + {}x4 + {}'.format(coefficients[0], coefficients[1], coefficients[2], coefficients[3], intercept))
# 预测值
y_pred = model.predict(X)
# 求拟合优度
r2 = r2_score(y, y_pred)
print('拟合优度:', r2)
代码解释:
- 导入库: 首先导入必要的库,包括 Pandas 用于数据处理、Numpy 用于数值计算、Scikit-learn 用于机器学习模型。
- 读取数据: 使用
pd.read_excel()读取 Excel 文件中的会员信息数据。 - 处理缺失值: 使用
dropna()删除包含缺失值的样本,并使用fillna()用平均值填充缺失值。 - 定义特征和目标变量: 将
信誉值均值,预订任务限额均值,商品周围商品个数,会员点个数作为特征变量X,并将任务标价作为目标变量y。 - 创建线性回归模型: 使用
LinearRegression()创建线性回归模型。 - 训练模型: 使用
model.fit(X, y)训练模型,将特征变量X和目标变量y传入模型进行学习。 - 输出方程系数: 使用
model.coef_获取回归方程的系数,使用model.intercept_获取截距。 - 预测值: 使用
model.predict(X)根据训练好的模型预测任务标价。 - 求拟合优度: 使用
r2_score(y, y_pred)计算模型的拟合优度 R-squared,衡量模型预测值的准确性。
注意:
- 代码中的
r'D:\pythonProject3\会员信息\附件二:会员信息数据.xlsx'是 Excel 文件的路径,请根据实际情况修改。 - 本代码仅展示了基本步骤,实际应用中可能还需要进行更复杂的预处理、特征工程、模型优化等工作。
更多信息:
希望本文能够帮助你更好地理解 Python 线性回归模型的应用。
原文地址: https://www.cveoy.top/t/topic/fzOD 著作权归作者所有。请勿转载和采集!