在整个预处理过程中,一个非常重要的核心就是数据清洗,也就是把数据变成我们可以用来分析和建模的样子。数据清洗一般包括以下几个部分:
① 填补遗漏的数据值
在数据收集的过程中,我们难免会遇到数据缺失的情况。对于缺失的数据,一般不建议直接删除,通常会采用常数、中位数/众数、随机数或者模型的方法进行填补。
常数法,最简单,但是相对来说也比较主观,可能带来无效信息。因此使用较少,通常用于标记缺失值。
中位数或者众数,都是描述数据集的集中趋势的指标。因此填补的数值也比较接近数据集的共性特征,因此填补后的数据集集中趋势会更加明显,结果也会偏向乐观。因此通常应用于有少量缺失值的情况。
随机数的方法,避免了主观判断,分布也更加自然。适用于有大量缺失值的情况。但是对生成随机值的方法依赖性比较强,如果选择不恰当,可能生成大量的无意义数据。
模型法,相对来说,取值最合理的一种方法。但是由于计算复杂,因此除非对数据的质量特别敏感,一般很少采用。
② 平滑有噪声数据
在一些变量中可能存在随机的错误或者误差,这个时候我们需要平滑这些有噪声的数据,避免给最后结果造成影响。一般平滑有噪声数据的方法有分箱法、聚类法,也可以通过移动平均的方法来进行过滤平滑。
③ 识别或去除异常值
变量中也可能存在异常值。我们可以通过数值或者画图的方法来进行判断。对于单一变量,我们可以通过均值、分位数、对称分布的经验法则或者切比雪夫不等式来进行判断。
如果需要识别两个或者以上变量组合是否存在异常值,我们则可以采用聚类或者散点图的方式来进行。
但是需要注意的是,异常值并不总是需要去除的。因为有时候异常值也代表了数据集的特征。具体是否需要去除或者调整,要根据项目的实际情况和使用的模型要求来进行判断。
④ 解决不一致问题
在数据集成部分,我们也提到过,来源不同的数据,名称、定义、长度、单位等都有可能存在不同,在使用前,我们需要对这些数据进行检查和统一。避免由于不一致带来结果的误差。
⑤ 查重
有些时候,数据集合中可能会存在重复的数据。因此在使用数据集前,我们也要进行查重,避免造成信息的干扰。
三个资料Q群下载不了也转发不了,先放这里Fine_tuning.zipLangChain.zipdata_clear.rar