当前位置: 首页 > news >正文

机器学习实践项目(一)- Rossman商店销售预测 - 预处理数据

前一篇博文分析完了数据,我们现在要开始处理数据。最终参与算法训练的所有字段都不能有空值,所以我们现在要想办法填充test测试集中的空值。

test.fillna(1, inplace = True)
test.isnull().sum()

前面说过,test测试集中值为空的字段只有open字段,且只有11条记录,这些记录全部都是622门店的,且根据我们对该门店前几个月的分析,缺失的那几天该门店应该也是营业的,所以我们不妨把所有缺失的Open字段都填充为1.

运行后重新统计test测试集的空值情况如下:
测试集空值情况

课件当前test测试集的值也完整了。接下来就要处理store门店主数据,按照上篇文章的分析,门店主数据中缺失的字段我们准备全部填充0,所以执行以下代码:

# 这些空值的字段无从知晓取值,所以直接置为0
store.fillna(0, inplace = True)
store.isnull().sum()

填充完毕后,再次统计空值发现门店数据集都完整了。
门店主数据空值情况

好,那到此为止,数据的完整性预处理便结束了,所有字段都已经没有空值。预处理最后一步,把门店数据集分别合并到训练集和测试集上去:

# 正式舍弃训练集中销售金额不大于0的记录
cond = train['Sales'] > 0
train = train[cond]
# 把训练集和门店集进行左连接left join,主键是Store字段
train = pd.merge(train, store, on = 'Store', how = 'left')
# 把测试集和门店集进行左连接left join,主键是Store字段
test = pd.merge(test, store, on = 'Store', how = 'left')display(train.shape, test.shape)

这里注意,在处理训练集时,只留下了金额大于0的销售记录,金额小于等于0的记录都抛弃掉了,这是因为有些门店可能产生了退款等异常情况,导致营业额为负,这显然属于异常数据,因此要抛弃。

合并完,打印两个数据集的行列数值,发现字段数量(列数)都已经合并:
门店主数据空值情况

好,预处理已经完成,接下来就要进行特征工程的处理了。

http://www.dtcms.com/a/469917.html

相关文章:

  • spring-Integration
  • SQL核心语言详解:DQL、DML、DDL、DCL从入门到实践!
  • 相亲网站怎么做的免费做网站tk
  • 在阿里巴巴上做网站要多少钱怎样制作自己的app
  • 数据湖Hudi - 二级索引:配置方法、存储位置与自动构建全解析(附电商实操案例)
  • 基于K近邻(KNN)算法的高光谱数据分类MATLAB实现
  • 石油网页设计与网站建设万网如何上传网站
  • 乐迪信息:智慧煤矿输送带安全如何保障?AI摄像机全天候识别
  • VMware vCenter 基础命令的 6 大核心模块
  • 龙华建设局网站做社区生意的网站
  • 【STM32项目开源】基于STM32的智能语音台灯系统
  • 构建和部署Spark、Hadoop与Zeppelin集成环境
  • 网站建设引擎广西住房和城乡建设厅领导班子
  • 把dxf转化成图片喂给vlm实现图纸检查比如尺寸有没有漏标
  • C++基础:(十一)vector深度剖析:底层原理与模拟实现
  • 【自用】request.ts 封装,带 token 过期后自动刷新 token 的功能
  • 成都定制网站建设服合肥公司注册地址
  • 分布式事务在前后端分离场景下的最终一致性实现
  • 农产品电子商务网站建设要求锦州网站建设公司
  • SSH命令建立隧道
  • [GazeTracking] 依赖项管理 | Docker化执行环境
  • uniapp web-view相互通信方法
  • (2)Kafka架构原理与存储机制
  • uniapp学习【项目创建+项目结构解析】
  • 虚拟机所需的硬件功能在目标主机上不受支持或已禁用:*长模式:对于支持64位客户机操作系统而言是必需的。
  • Uniapp微信小程序开发:http请求封装。
  • 个人可以做商城网站吗合肥制作网站价格
  • 网站制作的前期主要是做好什么工作网站的构思
  • java每小时调动一次,生成任务,基于corn表达式动态调动任务执行
  • 网站模板兼容手机端市场推广是做什么的