数据挖掘常用方法浅析徐进2主要内容背景知识数据积累与技术进步,挖掘数据中的“宝藏”成为可能常用场景分类聚类推荐2020/2/10数据挖掘概念数据挖掘(DataMining),是从大量数据中挖掘或抽取出知识举例:疾病预测、垃圾邮件识别、商品推荐等等2020/2/10处理流程数据收集数据清洗特征提取数据建模模型评估2020/2/10距离度量欧几里得距离曼哈顿距离切比雪夫距离明可夫斯基距离欧式空间2020/2/10相似度余弦相似度杰拉德相似系数皮尔逊相关系数皮尔逊相关系数解释:协方差和标准差的商,范围:[-1,1]2020/2/10相似度博客园相似度计算2020/2/10分类场景分类指有监督的学习,有明确的类标签垃圾邮件识别疾病判断天气预报等等2020/2/10分类常用手段:回归决策树贝叶斯人工神经网络支持向量机2020/2/10回归1、概念:基于数学方法在数据集上建立自变量(特征属性)与因变量(分类属性)之间的拟合函数表达式2、步骤2.1、寻找拟合函数2.2、计算参数2.3、利用拟合函数预测2020/2/10最小二乘法通过最小化误差的平方和寻找数据的最佳函数匹配拟合函数:损失函数:矩阵求根:2020/2/10随机梯度下降(SGD)法沿着倒数的方向,才能最快的逼近极值点损失函数:拟合函数:迭代逼近:2020/2/10决策树决策树树结构:非叶节点表示一个特征属性,其不同取值代表不同分支,叶节点代表分类属性2020/2/10决策树1.数据集D的熵:2.D按特征属性A进行划分后的熵:3.信息增益:熵值指的是混乱程度,熵越小越纯ID3算法就是在每次需要分裂时,选择熵增益最大的属性进行分裂。2020/2/10决策树D3算法的固有问题偏向于多值属性C4.5选择具有最大增益率的属性作为分裂属性C4.5选择具有最大增益率的属性作为分裂属性分裂信息:增益率:2020/2/10贝叶斯朴素贝叶斯分类:特征属性条件独立条件独立:P(AB|C)=P(A|C)P(B|C)贝叶斯定理2020/2/10朴素贝叶斯待分类的特征属性类别属性1、在有分类属性的数据集上,计算:2、在给定特征属性数据上,有贝叶斯定理:3、已知P(x)是常数,加之特征属性间条件独立,只需求2020/2/10贝叶斯网络需要专家预先建立网络的拓扑结构(理论上自适应调整建立贝叶斯网络)P(x7)概率:一般形式:2020/2/10人工神经网络基于生物学中神经网络的基本原理,借助人脑结构和外界刺激响应机制后,以网络拓扑知识为理论基础,模拟人脑的神经系统对复杂信息的反馈处理机制的一种数学模型2020/2/10人工神经网络1.建立模型根据数据集,选择网络模型、训练函数2.调整权值根据实际输出和期望输出之间的误差进行权值的修正2020/2/10人工神经网络多神经元、多层次2020/2/10支持向量机二类分类模型,特征空间上的间隔最大化2020/2/10支持向量机1.超平面2.距离3.分类数据集距离分类超平面最近的点且平行于超平面的训练样本,称为支持向量2020/2/10支持向量机5.满足条件6.拉格朗日乘子,有其中7.对w和b求偏导8.KKT条件2020/2/10模型选择2020/2/10聚类聚类指无监督的学习,没有明确的类标签“物以类聚,人以群分”文本聚合(垃圾邮件、新闻聚合)2020/2/10聚类K近邻k-meansk-modlesEM层次聚类归约型分裂型2020/2/10K近邻1、随机地选择k个对象,每个对象初始地代表了一个簇的平均值或中心2、剩余的每个对象,根据其与各簇中心的距离,将它赋给最近的簇3、重新计算每个簇的平均值,这个过程不断重复,直到准则函数收敛k-means:以平均值为中心k-modles:以最靠近平均值的点为中心2020/2/10EM1.初始化分布参数2.聚类2.1.E步骤:用分布参数计算每个实例的聚类概率2.2.M步骤:重新估计分布参数(如不同聚类簇的方差、期望等),使数据的似然性尽可能大迭代计算2.1,2.2,直至收敛2020/2/10EM2.取对数1.似然函数3.求导,极大值4.极大似然估计2020/2/10层次聚类归约型与分裂型1.归约型1.1、将每个对象看作一类,计算两两之间的最小距离;1.2、将距离最小的两个类合并成一个新类;1.3、重新计算新类与所有类之间的距离;1.4、重复1.2、1.3,直到所有类最后合并成N类。2.分裂型略2020/2/10推荐协同过滤基于user基于item关联规则AprioriFP_growth2020/2/10协同过滤场景协同过滤指利用集体智慧的进行过滤社交网络推荐商品推荐2020/2/10基于user协同过滤找有相似度的用户进行推荐,适合user少、item多的场景2020/2/10基于item协同过滤找有相似度的item进行推荐,适合item少、user多的场景2020/2/10关联规则场景寻找数据项之前频繁出现的组合“啤酒尿布问题”1.support({啤酒}–{尿布}):啤酒和尿布同时出现的次数/数据记录数=3/5=60%2.confidence({尿布}–{啤酒}):啤酒和尿布同时出现的次数/尿布出现的次数=3/4=75%2020/2/10关联规则1、寻找数据中事物之间可能存在的关联或者联系2、两个主要阶段:2.1、根据给定的最小支持度supmin,从事务集中找出全部的频繁项集;2.2、根据最小可信度supcon,由已知频繁项集中生成感兴趣的关联规则。2020/2/10Apriori1、扫描事务集T求出每个1项集的支持度,即得到频繁1项集的集合;2、循环计算频繁k项集。2.1、连接:由两个有且只有一个项不同的k-1频繁项集连接得出k频繁项集的候选集;2.2、剪枝:上述得出的是k频繁项集的候选集,需要对候选集k中的k-1项子集进行判断。若k-1子集不是频繁项集,则直接剔除掉;3、扫描计算所得的频繁项集,依据给出的置信度等筛选条件确定感兴趣的关联规则。2020/2/10FP_growth在不生成候选项的情况下,寻找频繁项集一颗growth树,每个分支代表一个数据项,内容该分支节点内容集合自底向上遍历树的分支,可以得到频繁项集2020/2/10遗传算法场景模拟自然选择的启发式算法1、旅行商问题2、复杂方程求最值2020/2/10遗传算法1.种群生物的进化以群体的形式进行2.个体组成种群的单个生物3.基因一个遗传因子4.染色体包含一组的基因5.交叉新个体会遗传父母双方部分基因6.变异基因小概率发生突变2020/2/10遗传算法在繁殖过程中,会发生染色体交叉、基因突变,适应度低的个体会被逐步淘汰,而适应度高的个体会越来越多;经过N代的自然选择后,种群整体适应度会提高。2020/2/10开源框架致谢Thanks