数据处理--学习笔记
数据预处理的主要内容包括数据清洗,数据集成,数据变换和数据规约。
数据清洗
主要是删除原始数据集中的无关数据,重复数据,平滑噪声数据,筛选掉与挖掘主题无关的数据,处理缺失值,异常值等。
1,缺失值处理
处理缺失值的方法可分为三类:删除记录,数据插补和不处理。
牛顿插值法也是多项式插值,但采用了另一种构造插值多项式的方法,与拉格朗日插值相比,具有承袭性和易于变动节点的特点。从本质上来说,两者给出的结果是一样的(相同次数,相同系数的多项式),只不过表示的形式不同。因此,在Python的Scipy库中,只提供了拉格朗日插值法的函数。
2,异常值处理
将含有异常值的记录直接删除的方法简单易行,但缺点也很明显,在观测值很少的情况下,这种删除会造成样本量不足,可能会改变变量的原有分布,从而造成分析结果的不准确。视为缺失值处理的好处是可以利用现有变量的信息,对异常值(缺失值)进行填补。
在很多情况下,要先分析异常值出现的可能原因,再判断异常值是否应该舍弃,如果是正确的数据,可以直接在具有异常值的数据集上进行挖掘建模。
数据集成
来自多个数据源的现实世界尸体的表达形式是不一样的,有可能不匹配,要考虑尸体识别问题和属性冗余问题,从而将元数据在最低层上加以转换,提炼和集成。
数据变换
对数据进行规范化处理,将数据转换成“适当的”形式,以适用于挖掘任务及算法的需要。
常用的变换包括平方,开方,取对数,差分运算等。简单的函数变换常用来将不具有正态分布的数据变换成具有正态分布的数据。在时间序列分析中,有时简单的对数变换或者差分运算就可以将非平稳序列转换成平稳序列。
比如个人年收入的取值范围为10000元到10亿元,这是一个很大的区间,使用对数变换对其进行压缩是常用的一种变换处理方法。
数据规范化对于基于距离的挖掘算法尤为重要。
Fayyad 等人的KDD过程:
1,数据选择;
2,数据预处理;
3,数据变换;
4,数据挖掘;
5,数据解释/评估。
韩家炜等人的KDD 过程:
1,数据清理;
2,数据整合;
3,数据选择;
4,数据变换;
5,数据挖掘;
6,模式评估;
7,知识表示。
CRISP-DM(CRoss-Industry Standard Process for Data Mining)过程:
1,业务理解;(问题陈述)
2,数据理解;(数据收集和储存)
3,数据准备;(数据清理)
4,建模;(数据挖掘)
5,评估;(表示和可视化)
6,部署。(问题解决)
这种方法的优势之一是,迭代是内建的。
数据挖掘中的6类问题:
分类问题,聚类问题,回归问题(映射),摘要问题,依赖性建模,变化和偏差检测问题
其他问题:
链接分析问题,序列分析问题
MySQL问题:
https://blog.csdn.net/u010286334/article/details/46500225 (引擎问题)
https://blog.csdn.net/lu1024188315/article/details/78706955 (登陆问题)
实现Apriori:
https://blog.csdn.net/zhubozhen/article/details/80205210
fetchone(), fetchall():