import pandas as pdfrom sklearnlinear_model import LinearRegression# 读取数据data = pdread_csvtestcsv# 数据预处理data销售日期 = pdto_datetimedata销售日期data销售量千克 = data销售量千克astypefloatdata销售单价元千克 = data销售单价元千克astypef
报错信息显示在训练线性回归模型时,数据类型不匹配。具体原因是X中包含了日期类型的特征,而线性回归模型只能处理数值类型的特征。
解决方法是将日期特征转换为数值类型的特征。可以使用日期特征的天数表示,即将日期转换为与某个基准日期的天数差。
修改代码如下:
# 构建特征和标签
X = data[data['单品名称'].isin(available_items)][['销售日期', '销售量(千克)']]
X['销售日期'] = (X['销售日期'] - pd.to_datetime('2023-01-01')).dt.days
y = data[data['单品名称'].isin(available_items)]['销售单价(元/千克)']
这样就将日期特征转换为了数值类型的特征,再重新运行程序即可。
原文地址: https://www.cveoy.top/t/topic/i2fN 著作权归作者所有。请勿转载和采集!