重中之重的数据清洗该怎么做?
炼丹笔记干货
作者:时晴
要精确建模,数据是重中之重,但是模型的输入是受限的,如果数据有缺陷没做清洗,那模型就不可能精准,当你得到不准确结果的时候,第一要怀疑的不是用错模型,而是用错了数据。那么本文就从7个关键性的清理步骤入手,给大家阐明如何做数据清洗。
删除Outliers
可能破坏数据集预测有效性的最明显就是不属于集合的异常值。例如,iphone手机9.9元,那可能是并夕夕带来的噪声。为了解决这个问题,可以基于数据的四分位数范围应用标准公式来识别异常值。为此,取代表第75百分位的数据,减去代表第25百分位的数据。该结果值被视为四分位间距(IQR)。为了识别异常值,取第25个和第75个百分位的数字,分别减去和添加1.5 x IQR。任何超出此范围的值都被视为异常值。
剔除单值列
无论出于何种目的,包含单个值的列在机器学习领域都是无用的。这些列称为零方差预测值,对你的模型不会有任何积极的影响,并且可能会对建模尝试产生意外的负面影响。要删除这些列,可以通过手动检查(如果数据集的列数有限),也可以通过编程方式删除(如果希望在将来简化此任务)。
数据格式处理
通常情况下,数据集的格式可能是将日期存储为字符串,或将某些数字字段存储为文本值。要正确应用某些数据操作,需要确保数据存储为正确的类型。
处理Nulls
当处理大量训练集时,不可避免地会有不完整的数据。出现这种情况时,通常有三个选项:保持原样、填充空值或删除空值。
如果保持这些值不变,则可能会损害创建的数据模型,并降低模型的预测有效性。如果缺少的数据为试图预测的结果提供了至关重要的见解,那么保持现状肯定会导致不完美的预测。因此建议填充或删除空值。
如果可以合理地确定应该在空单元格中输入的值,那么这是最好的解决方案。例如,如果知道“score”中具有null值的列意味着不记录任何分数,那么可以简单地将其替换为null值和0。通过这样做,可以保持数据集的完整性,并保障预估的准确性。这种情况使用fillna函数即可。可以将其替换为静态值,也可以将其填充为统计平均值。
如果无法合理预测数据,那么最好的选择是将其从数据集中删除。通过这样做,可以确保只测试完全输入的数据。为此,可以使用dropna()函数自动删除至少包含一个空值的任何列。
用正则表达式处理数据
清理数据最有效的方法之一就是使用正则表达式。也许有一个包含文本字符串的列,如(“1年”、“5年”、“10年”)。你不能直接把它们转换成整数,但是你知道如果你能只提取数字,它们在关系建模中会更有用。
对冗余行进行过滤
如果聚合了来自多个源的数据,那么还可能会遇到数据集部分重叠的风险。假设将过去3个月的销售数据合并,但其中两组记录了一周的销售数据。如果我们按原样运行数据,那一周的销售额将是双重加权的,这是会导致模型预估的分布和真实分布不同。要解决此问题,请使用drop_duplicates函数。这将删除所有整行相同的行。
然而,了解数据集中的数据是很重要的。如果存在重复行的正当原因,则删除重复行不会改善数据集,而是会通过删除经常发生的度量来降低数据集的质量。为了避免这个问题,使用某种类型的唯一列(如时间戳或用户ID)将确保重复的度量仍然在唯一列中。
数据可读和可解析
如果不想学习如何使用正则表达式,或者只想删除几个特定的单词,那么还有其他方法可以清理数据,使其更适合于模型训练。使用replace函数可以找到目标数据,并将其替换为预期的数据。如果有一列的值为“Paid”、“notpaid”,直接替换为二进制1或0表示即可。
相关文章
- 从本体论开始说起——运营商关系图谱的构建及应用
- 如何成为一名数据科学家?
- 从未见过的堂兄杀了人,你的DNA是关键证据
- 20个安全可靠的免费数据源,各领域数据任你挑
- 20个安全可靠的免费数据源,各领域数据任你挑
- 阿里云李飞飞:All in Cloud时代,云原生数据库优势明显
- 基于Hadoop生态系统的一高性能数据存储格式CarbonData(性能篇)
- 大数据告诉你:10年漫威,到底有多少角色
- TigerGraph:实时图数据库助力金融风控升级
- Splunk利用Splunk Connected Experiences和Splunk Business Flow 扩大数据访问
- 大数据开发常见的9种数据分析手段
- 以免在景区看人,我爬了5W条全国景点门票数据...
- 【实战解析】基于HBase的大数据存储在京东的应用场景
- 数据科学家告诉你哪些计算机科学书籍是你应该看的
- Kafka作为大数据的核心技术,你了解多少?
- Spring Boot 整合 Redis 实现缓存操作
- 大数据学习必须掌握的五大核心技术有哪些?
- 基于Antlr在Apache Flink中实现监控规则DSL化的探索实践
- 甲骨文再次被Gartner评为分析型数据管理解决方案魔力象限领导者
- 爬取吴亦凡微博102118条转发数据,扒一扒流量的真假