Python线性回归:分析会员信息数据并预测任务标价

本篇博客将介绍如何使用Python中的Pandas和Scikit-learn库,通过线性回归模型分析会员信息数据,并预测任务标价。

1. 数据准备

首先,我们需要导入所需的库并读取数据:

import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score

data = pd.read_excel(r'会员信息数据.xlsx')
data.dropna(inplace=True)

请将 '会员信息数据.xlsx' 替换为你的数据文件路径

这里我们假设数据文件中包含以下列:

  • 信誉值均值
  • 预订任务限额均值
  • 商品周围商品个数
  • 会员点个数
  • 任务标价

2. 特征选择和数据分割

接下来,我们选择特征和目标变量,并将数据随机分割成训练集和测试集:

X = data[['信誉值均值', '预订任务限额均值', '商品周围商品个数', '会员点个数']]
y = data['任务标价']

sample = data.sample(n=100)
X_sample = sample[['信誉值均值', '预订任务限额均值', '商品周围商品个数', '会员点个数']]
y_sample = sample['任务标价']

3. 模型训练和预测

现在,我们使用训练集数据训练线性回归模型:

model = LinearRegression()
model.fit(X_sample, y_sample)

4. 模型评估

我们可以使用R方分数来评估模型的拟合优度:

r2 = r2_score(y_sample, model.predict(X_sample))
print('拟合优度:', r2)

5. 拟合方程

最后,我们可以得到拟合方程:

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

完整代码

import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score

# 读取数据
data = pd.read_excel(r'会员信息数据.xlsx')
data.dropna(inplace=True)

# 特征选择和数据分割
X = data[['信誉值均值', '预订任务限额均值', '商品周围商品个数', '会员点个数']]
y = data['任务标价']

sample = data.sample(n=100)
X_sample = sample[['信誉值均值', '预订任务限额均值', '商品周围商品个数', '会员点个数']]
y_sample = sample['任务标价']

# 模型训练
model = LinearRegression()
model.fit(X_sample, y_sample)

# 模型评估
r2 = r2_score(y_sample, model.predict(X_sample))
print('拟合优度:', r2)

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

请注意,以上代码中的文件路径和部分内容需要根据实际情况进行修改。


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

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