Python线性回归:分析会员信息数据并预测任务标价
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 著作权归作者所有。请勿转载和采集!