第2章 数据预处理

2.1 数据类型有哪些?

面试官:所谓数据挖掘,常见的数据类型有哪些呀?

程序员大树:
        根据数据属性的不同,通常可以把数据分为离散连续两类。离散属性是有有限个值或无限可数个值。比如电话号等。连续属性是取实数的值,如温度、高度等,可以用浮点数来表示。
        数据集是数据挖掘的基础。数据集分为记录数据、图数据和有序数列
        记录数据包含了数据维度和指标等记录,通常用关系数据库存储,或者矩阵存储。特别地,对于文档这种较稀疏的,可以转成词向量,用稀疏矩阵存储。
        图数据,即用图来表示数据间的关系,如地图数据等。
        有序数列,即数据属性具有时间或空间上的联系。如一些股票等金融时序数据。

2.2 怎么保证数据质量?

面试官:你在数据挖掘之前,如何保证数据质量?

程序员大树:大概有两个方面可以着手:数据清理,以及使用容忍低质量数据的算法
        数据清洗需要解决的问题有噪声、异常值、遗漏值、重复数据等。
        噪声一般包含时间或空间分量的数据,可以采用信号或图形处理的技术降低噪声。很多数据挖掘算法在实现时都会关注鲁棒性,即噪声干扰下也可以产生能够接受的结果。
        异常值,即离群点,与其他数据对象显著不同的点。在做统计分析时,需要对异常值进行处理,比如统计某地平均收入,就要剔除掉马云之类的高收入人群,才会有普遍性。
        遗漏值,在收集数据时可能会出现一个对象缺少几个属性值的情况。处理遗漏值,可以进行简单的估计。比如对连续数据,可以用近邻点的平均值;如果是离散的,可以用最近邻点的属性值。当然,在遗漏值占比比较少时,做数据分析时也可以忽略掉遗漏值。
        重复数据,数据集可能包含重复的数据对象。去重包含两方面,一方面是一个对象有多个值,即如果有两个对象实际只代表同一个对象,而他们的属性值不同,则必须处理不一致的值。另一方面是有多个重复或者相似的值,需要把他们合并在一起。

2.3 数据预处理步骤有哪些?

面试官:说说数据预处理是怎么做的?

程序员大树:
        数据预处理有两个目的,即筛选出分析的数据对象,以及提升数据质量。预处理有如下过程:
    (1)数据清洗:可以用来清除数据中的噪声,纠正不一致。 
    (2)数据集成:将数据由多个数据源合并成一个一致的数据存储,如数据仓库。 
    (3)数据归约:可以通过如聚集、删除冗余特征或聚类来降低数据的规模。
        数据归约常用到的是维归约。自然界收集到的数据可能会有成千上万个维度,进行挖掘时特别复杂,我们可以将旧的维度合并在一起,或者删除不相关的维度,以达到规约的目的。维规约可以用到主成成分分析的技术,后面会讲到。
    (4)数据变换:数据变换包括对数据进行规范化,离散化,稀疏化处理。常见的规范化有以下几种: 
                I. 最大 - 最小规范化:将数据映射到[0,1]区间,。
                            
                Ii. z-score变换:用于将数据变换为正态分布
                             
                Iii. 对数变换:对数变换能够缩小数据的绝对范围
                             

2.4 如何度量相似性和相异性?

面试官:请你说说怎么度量相似性和相异性?

程序员大树:对于相异性:
(1)欧几里得距离:如果一个点有多个属性值,如x={x1,x2...xk}, y={y1,y2...yk},欧几里得距离可以写成: 
       
(2)闵可夫斯基距离:p = (x1,x2,,,,xn), q = (y1,y2,,,,yn), 闵可夫斯基距离可以写成: 
        
相似性:
首先设x,y是两个二元向量。记:
f00=x取0且y取0的属性个数;
f01=x取0且y取1的属性个数;
f10=x取1且y取0的属性个数;
f11=x取1且y取1的属性个数。
(1)简单匹配系数SMC:
         
(2) Jaccard系数J:
 
(3)余弦相似度:可以忽略0-0的匹配,而且还能够处理非二元的向量。
 

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-23 18:28
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务