Python线性回归模型预测任务标价及拟合度优化

本案例使用Python的机器学习库sklearn,构建线性回归模型,并利用会员信息数据中的'信誉值均值'、'预订任务限额均值'、'商品周围商品个数'、'会员点个数'等特征,预测'任务标价'。为了找到最佳拟合效果,我们采用随机取样的方法,不断优化模型的拟合度(R方),最终输出拟合方程和最佳拟合度值。

**代码实现:**pythonimport pandas as pdfrom sklearn.linear_model import LinearRegression

读取数据,请将文件路径修改为实际路径data = pd.read_excel(r'你的数据文件路径.xlsx')data.dropna(inplace=True)

定义特征变量X和目标变量yX = data[['信誉值均值', '预订任务限额均值', '商品周围商品个数', '会员点个数']]y = data['任务标价']

初始化线性回归模型model = LinearRegression()

设置初始拟合度为0r2 = 0

当拟合度小于0.5时,重新随机取样并拟合while r2 < 0.5: # 随机取样100组数据 sample_data = data.sample(n=100, random_state=1) X_sample = sample_data[['信誉值均值', '预订任务限额均值', '商品周围商品个数', '会员点个数']] y_sample = sample_data['任务标价'] # 训练模型 model.fit(X_sample, y_sample) # 计算拟合度 r2 = model.score(X_sample, y_sample)

输出拟合方程和拟合优度equation = '任务标价 = {:.2f} * 信誉值均值 + {:.2f} * 预订任务限额均值 + {:.2f} * 商品周围商品个数 + {:.2f} * 会员点个数'.format(model.coef_[0], model.coef_[1], model.coef_[2], model.coef_[3])print('拟合方程:', equation)print('拟合优度:', r2)

代码说明:

  1. 导入必要的库:pandas用于数据处理,sklearn.linear_model中的LinearRegression用于构建线性回归模型。2. 读取数据:使用pandas读取Excel文件,并将缺失值删除。请将代码中的文件路径替换为实际的数据文件路径。3. 定义特征变量和目标变量:将'信誉值均值'、'预订任务限额均值'、'商品周围商品个数'、'会员点个数'作为特征变量X,'任务标价'作为目标变量y。4. 初始化模型:创建LinearRegression模型对象。5. 循环优化拟合度: - 设置循环条件为拟合度小于0.5。 - 在循环内,随机从数据集中抽取100个样本。 - 使用训练数据拟合线性回归模型。 - 计算模型的拟合度(R方)。 - 如果拟合度达到要求,则跳出循环。6. 输出结果:打印最终的拟合方程和拟合度。

注意事项:

  • 请将代码中的文件路径替换为实际的数据文件路径。- 随机取样时,可以根据实际情况调整样本数量和random_state参数。- 拟合度的阈值可以根据实际需求进行调整。

原文地址: https://www.cveoy.top/t/topic/fzTl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录