<数据挖掘--概念与技术>读后感

来源:互联网 发布:混血哥 知乎 编辑:程序博客网 时间:2024/05/19 20:45
//2017-05-20 13:30
这篇文章我已经欠了至少一年了,周五写记录时,本想写开始认真搞黑客,但突然发现之前的总结少了这一篇,心里实在过不去,遂补上,顺便梳理一下之前学习的总结,也了却一心愿。

数据挖掘的目标是从数据集中识别出一种或多种模式,并用所发现的模式进行分析或预测。

处理数据的过程分以下几个步骤:
1.数据清理->2.数据集成->3.数据选择->4.数据变换(前4个阶段都是预处理阶段)->5.数据挖掘->6.模式评估->7.知识表示

一切的万物都是从基石开始打好基础:

1.明白数据和它所属的属性,因为不同属性的数据,用的方案不一样。
属性有如下类型: 标称(nominal)属性,二元(binary)属性,序数(numeric)属性,离散属性,连续属性。

2.然后要明白一些对数据基本属性量度的方案:
各种均值(算数平均,加权平均),中位数,众数,方差,标准差。

3.度量数据的相似性和相异性
数据相似性和相异性又称邻近性(proximity),是一个非常非常重要的指标,数据的差异和距离都是通过这个来衡量的,以后的算法中,很多都是基于此去判断。
由于数据本身有不同的属性,所以度量它们的临近性根据数据属性不同使用不同的方法:
a.标称属性: d(i,j) = (p-m)/p
b.二元属性: Jaccard系数
c.数值属性: Minkowski distance
d.序数属性: 分区再离散化,映射到一个区间内,使每个属性有相同的权重。
e.混合属性: 分不同的具体情况分析,然后整合在一起。
d.对于文本类型的稀疏矩阵,用余弦相似性或Tanimoto距离解决。

4.数据的相关性
a.标称数据的相关性检验: X2(卡方)
b.数值数据的相关性检验: Pearson's product mement coefficient 皮尔逊积矩系数
c.数值数据的协方差.
相关性分析,可以在众多数据中找到一个或几个核心的主成分,剔除无意义或在主成分中附带反应的次要属性,方便挖掘时选择哪些合理必要的属性。因为选择的数据属性越多,会造成的计算复杂度上升和不必要的多余影响。

5.规范化变化数据
a.最小-最大规范化
b.z-score规范化
c.小数定标规范化

6.频繁模式,关联 和 相关性
a.Support(A=>B) = P(A && B) 所有事物中同时包含AB的比率
b.Confidence(A=>B) = P(B|A) = support(A&&B) / support(A) = support_count(A&&B) / support_count(A)
c.Apriori 算法
d.FP-growth算法
e.关联分析到相关分析: 提升度分析; 卡方分析
d.模式评估度量比较  全置信度,最大置信度,Kulczynski 和 余弦。

7.分类 (classfication)(需要监督学习)
我们有一组数据变量,其中一个变量是目标分类标签,我们通过训练(数据学习)来建立好分类模型,然后对未知数据进行分类。
a.决策树:  ID3, C4.5, CART
 a.1.属性选择度量: 决策树分裂的准则. 1.信息增益 2.增益率 3.基尼指数 4.etc
 a.2.树剪枝: prepruning / postpruning
b.贝叶斯分类:
 b.1.朴素贝叶斯(Naive Bayesian) 通过先验概率P(H)去预测后验概率P(H|X): P(H|X) = P(X|H)P(H) / P(X),其实不用管P(X),只用计算P(X|H)P(H)的几组值,找到最大的值所对应的项。
c.基于规则的分类
d.模型评估与选择
 准确率(识别率): (TP+TN)/(P+N)
 错误率(误分类率):  (FP+FN)/(P+N)
 敏感度 sensitivity(真正例率,召回率 recall): TP/P
 特效性 specificity(真负例率): TN/N
 精度 precision: TP/(TP+FP)
 F度量 精度和召回率的调和均值: 2*precision*recall/(precision+recall)
e.提高分类准确率的技术
 e.1.装袋(bagging):多个分类器,统计找到最大的投票数
 e.2.提升 AdaBoost: 对多个分类器加入权重的概念,错误时增加权重,当权重达到一个阈值,则抛弃掉分类器。
 e.3.装袋和提升比较: 由于 提升关注误分组,所以存在结果复合模型对数据过分拟合的危险。装袋不太受过分拟合的影响。尽管与单个模型相比,两者都能够显著提高准确率,但是提升往往得到更高的准确率。
 e.4.随机森林: 个体决策树的每个节点使用随机选择的属性,再将多个决策器决定的结果,投票返回得票最多的类。实现可以使用装袋和随机属性选择结合起来。

8.聚类 (clustering)(无监督学习)
聚类就是运用一个类距离函数D(i,j),将数据对象划分成事先未知的分组,使得簇中的对象彼此相似,但与其他簇中的对象不相似。
a.划分方法
 a.1.K均值 (K-Means): 需要手工输入K簇的数目. 此方法不能保证收敛于全局最优解,常常终止于局部最优解。 对离群点和噪声敏感,少量的这类数据会产生极大的影响,可能严重扭曲簇的均值。
 a.2.K中心点(PAM): 时间复杂度高,每次迭代都是O(k(n-k)^2),数据量大开销相当大。当数据量大时,使用CLARA(Clustering LARge Applications)基于抽样的方法选取数据进行聚合。better CLARANS(Clustering Large Application based up RANdomized Search)
b.层次方法
 b.1.凝聚与分裂的层次聚类
 b.2.算法方法的距离度量: 1.最小距离 2.最大距离 3.均值距离 4.平均距离

tbc.剩下的后面的部分,还没有认真看,就不写出来了。以后深入理解后,再说。:P


还有,这本书我是买的2013年6月第1版第3次印刷,我发现书里面有一些错误的公式和计算式。
比如说:a.往往是前面说了有平方,后面具体例子就没有了,比如说第33页方差2.6和本页最后一行的例子就少了平方。b. p164页,confidence(A=>B)=P(A|B)=...,中间的部分应该是 =P(B|A)。 我还大约发现有6,7处前后不一致的地方。不知道以后的版本,是否修正了这些问题。

//2017-05-20 23:46
原创粉丝点击