数据挖掘算法案例三篇_第1页
数据挖掘算法案例三篇_第2页
数据挖掘算法案例三篇_第3页
数据挖掘算法案例三篇_第4页
数据挖掘算法案例三篇_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据挖掘算法案例三篇篇一:数据挖掘算法经典案例国际权威的学术组织theIEEEInternationalConferenceonDataMining(ICDM)20XX年12月评选出了数据挖掘领域的十大经典算法:C4.5,k-Means,SVM,Apriori,EM,PageRank,AdaBoost,kNN,NaiveBayes,andCARTO不仅仅是选中的十大算法,其实参加评选的18种算法,实际上随便拿出一种来都可以称得上是经典算法,它们在数据挖掘领域都产生了极为深远的影响。C4.5C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法。C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;在树构造过程中进行剪枝;能够完成对连续属性的离散化处理;能够对不完整数据进行处理。C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。Thek-meansalgorithm艮口K-Means算法k-meansalgorithm算法是一个聚类算法,把n的对象根据他们的属性分为k个分割,k<n。它与处理混合正态分布的最大期望算法很相似,因为他们都试图找到数据中自然聚类的中心。它假设对象属性来自于空间向量,并且目标是使各个群组内部的均方误差总和最小。Supportvectormachines支持向量机,英文为SupportVectorMachine,简称SV机(论文中一般简称SVM)。它是一种监督式孥者的方法,它广泛的应用于统计分类以及回归分析中。支持向量机将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔超平面。在分开数据的超平面的两边建有两个互相平行的超平面。分隔超平面使两个平行超平面的距离最大化。假定平行超平面间的距离或差距越大,分类器的总误差越小。一个极好的指南是C.J.CBurges的《模式识别支持向量机指南》。vanderWalt和Barnard将支持向量机和其他分类器进行了比较。TheApriorialgorithmApriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。最大期望(EM)算法在统计计算中,最大期望(EM,Expectation-Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(LatentVariabl)。最大期望经常用在机器学习和计算机视觉的数据集聚(DataClustering)领域。(六)PageRankPageRank是Google算法的重要内容。20XX年9月被授予美国专利,专利人是Google创始人之一拉里•佩奇(LarryPage)。因此,PageRank里的page不是指网页,而是指佩奇,即这个等级方法是以佩奇来命名的。PageRank根据网站的外部链接和内部链接的数量和质量俩衡量网站的价值。PageRank背后的概念是,每个到页面的链接都是对该页面的一次投票,被链接的越多,就意味着被其他网站投票越多。这个就是所谓的“链接流行度”一一衡量多少人愿意将他们的网站和你的网站挂钩。PageRank这个概念引自学术中一篇论文的被引述的频度一一即被别人引述的次数越多,一般判断这篇论文的权威性就越高。(七)AdaBoostAdaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。(八)kNN:k-nearestneighborclassificationK最近邻(k-NearestNeighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。(九)NaiveBayes在众多的分类模型中,应用最为广泛的两种分类模型是决策树模型(DecisionTreeModel)和朴素贝叶斯模型(NaiveBayesianModel,NBC)。朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。在属性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。而在属性相关性较小时,NBC模型的性能最为良好。(十)CART:分类与回归树CART,ClassificationandRegressionTrees。在分类树下面有两个关键的思想。第一个是关于递归地划分自变量空间的想法;第二个想法是用验证数据进行剪枝。二、数据挖掘经典案例当前,市场竞争异常激烈,各商家企业为了能在竞争中占据优势,费劲心思。使用过OLAP技术的企业都知道,OLAP技术能给企业带来新的生机和活力。OLAP技术把企业大量的数据变成了客户需要的信息,把这些信息变成了价值,提高了企业的产值和效益,增强了客户自身的竞争实力。“啤酒与尿布”的故事家喻户晓,在IT界里,几乎是数据挖掘的代名词,那么各商家企业受了多少启发,数据挖掘又给他们带来了多少价值呢?客户需求客户面对大量的信息,用OLAP进行多维分析。如:一个网上书店,用OLAP技术可以浏览到什么时间,那个类别的客户买了多少书等信息,如果想动态的获得深层次的信息,比如:哪些书籍可以打包推荐,哪些书籍可以在销售中关联推出等等,就要用到数据挖掘技术了。当客户在使用OLAP技术进行数据的多维分析的时候,联想到“啤酒与尿布”的故事,客户不禁会有疑问,能不能通过数据挖掘来对数据进行深层次的分析呢,能不能将数据挖掘和OLAP结合起来进行分析呢?SQLServer20XX数据挖掘:SQLServer20XX的DataMining是SQLServer20XX分析服务(AnalysisServices)中的一部分。数据挖掘通常被称为“从大型数据库提取有效、可信和可行信息的过程”。换言之,数据挖掘派生数据中存在的模式和趋势。这些模式和趋势可以被收集在一起并定义为挖掘模型。挖掘模型可以应用于特定的业务方案,例如:预测销售额、向特定客户发送邮件、确定可能需要搭售的产品、查找客户将产品放入购物车的顺序序列。Microsoft决策树算法、MicrosoftNaiveBayes算法、Microsoft聚类分析算法、Microsoft神经网络算法(SSAS),可以预测离散属性,例如,预测目标邮件活动的收件人是否会购买某个产品。Microsoft决策树算法、Microsoft时序算法可以预测连续属性,预测连续属性,例如,预测下一年的销量。Microsoft顺序分析和聚类分析算法预测顺序,例如,执行公司网站的点击流分析。Microsoft关联算法、Microsoft决策树算法查找交易中的常见项的组,例如,使用市场篮分析来建议客户购买其他产品。Microsoft聚类分析算法、Microsoft顺序分析和聚类分析算法,查找相似项的组,例如,将人口统计数据分割为组以便更好地理解属性之间的关系。巅峰之旅之案例一:网上书店关联销售提出问题网上书店现在有了很强的市场和比较固定的大量的客户。为了促进网上书店的销售量的增长,各网上书店采取了各种方式,给客户提供更多更丰富的书籍,提供更优质服务,等方式吸引更多的读者。是不是这样就够了呢?这里,给众多网上书店的商家们提供一种非常好的促进销售量增长,吸引读者的方法,就是关联销售分析。这种方法就是给客户提供其他的相关书籍,也就是在客户购买了一种书籍之后,推荐给客户其他的相关的书籍。这种措施的运用给他们带来了可观的效益。首先必须明确的是,这里介绍的关联销售并不是,根据网上书店的销售记录进行的比例统计,也区别于简单的概率分析统计,是用的关联规则算法。“啤酒和尿布”的故事足以证明了该算法的强大功能和产生的震撼效果。那么,怎么来实现这样一个效果呢?解决步骤首先,我们有数据源,也就是销售记录。这里我们做数据挖掘模型,要用到两张表,一张表是我们的会员,用会员ID号来代替;另一张表是我们那个会员买了什么书。我们应用SQLServer20XX的DataMining工具,建立数据挖掘模型。具体步骤如下:第一步:定义数据源。选取的为网上书店的销售记录数据源(最主要的是User表和Sales表)。第二步:定义数据源视图。在此我们要建立好数据挖掘中事例表和嵌套表,并定义两者之间的关系,定义User为事例表(CaseTable),Sales为嵌套表(NestedTable)。第三步:选取MicrosoftAssociationRules(关联规则)算法,建立挖掘模型。第四步、设置算法参数,部署挖掘模型。第五步、浏览察看挖掘模型。对于关联规则算法来说,三个查看的选项卡。A:项集:“项集”选项卡显示被模型识别为经常发现一起出现的项集的列表。在这里指的是经过关联规则算法处理后,发现关联在一起的书籍的集合。B:规则:“规则”选项卡显示关联算法发现的规则。“规则”选项卡包含一个具有以下列的网格:“概率”、“重要性”和“规则”。概率说明出现规则结果的可能性。重要性用于度量规则的用途。尽管规则出现的概率可能很高,但规则自身的用途可能并不重要。重要性列就是说明这一情况的。例如,如果每个项集都包含属性的某个特定状态,那么,即使概率非常高,预测状态的规则也并不重要。重要性越高,规则越重要。C:关联网络:节点间的箭头代表项之间有关联。箭头的方向表示按照算法发现的规则确定的项之间的关联。效果展示1、我们可以看到在上图中,绿色的是我们选择的节点,橙色的是可以预测所选节点的节点,也就是说如果消费者买了《月光宝盒(2VCD)》的话,那么我们可以给该消费者推荐《乱世佳人(上集,2VCD)》。紫色的是和所选节点能够双向预测的,即买了《大圣娶亲》,推荐《乱世佳人(上集,2VCD)》;同样,买了《乱世佳人(上集,2VCD)》,推荐《大圣娶亲》。这样我们就很容易看到经过关联算法计算出来的书籍之间的关联性。如图3所示效果。2、我们也可以通过写DMX语句来实现预测查询。SELECTPredictAssociation([User].[Sales],include_statistics,10)From[User]NATURALPREDICTIONJOIN(SELECT(SELECT'月光宝盒(2VCD)'AS[BookName])AS[Sales])ASt巅峰之旅之案例二:客户类别销售分析这个案例的前提是我们已经建立好了一个OLAP的多维数据库Sales,事实表为FactInternetSales,有五个维度,分别是DimCurrency,DimCustomer,DimProduct,DimTime,DimPromotion。提出问题利用OLAP建立的多维数据库Sales,我们可以实现多角度的浏览和分析。例如:我们可以分析20XX年第一季度的M生产线产品的销售量情况,还可以实现灵活的交叉分析,等等。但是,如果我们要分析,某个维度的多个属性的综合的销售量,例如:客户维度里有BirthDate、EnglishEducation、HouseOwnerFlag、NumberCarsOwned、YearlyIncome等属性,在多维数据库里面分析的时候,我们可以把客户维度的NumberCarsOwned属性放在展示区域的行上,把度量值OrderQuantity放在列上,查看拥有0-4辆汽车的客户的订购所有产品的数量。同样,我们也可以类似的查看其他属性的情况。但是,如果我们要把客户维度的某些属性综合考虑来分类,例如:我们要把高收入、高学历、高消费的客户作为一个群体,把高收入,低学历、高消费的客户作为一个群体,等等,然后,基于这些群体来浏览分析,销售情况,如何来实现呢?解决步骤用过聚类算法的大概比较清楚,聚类算法,是用来给事物分类的。那么怎么用聚类算法的这个特性,和OLAP进行正和呢。请看下面这个案例:第一步:建立挖掘模型。这里需要注意的是:以前我们在建立数据挖掘模型的时候是基于关系型数据源。A:而在这里,我们要基于多维数据库Sales,选取维度DimCustomer为数据挖掘模型的数据源。B:按照向导,选取事例键DimCustomer,C:在选取事例级别列对话框里面,选择一些属性和度量值,我们这里选取EnglishEducation、HouseOwnerFlag、NumberCarsOwned、YearlyIncome、SalesAmount。如图5所示。D:在完成对话框里面,我们输入挖掘结构名称CustomerSturcture,输入挖掘模型名称CustomerClustering。必须注意的是,一是一定要选择创建挖掘模型维度,输入挖掘模型维度的名称CustomerClustering;二是一定要选择使用挖掘模型维度创建多维数据集Sales_DM。E:设置算法参数。然后对创建的挖掘结构和挖掘模型进行处理。此时,共享维度里面会自动添加了一个CustomerClustering维度,也就是数据挖掘维度。第二步:处理CustomerClustering维度。第三步:处理多维数据集Salse_DM。处理后的多维数据集Sales_DM,就包含了数据挖掘维度Customerclustering。这样,我们就可以把经过聚类算法分类后的客户维度,来进行多维数据分析。效果展示这些Cluster是我们用聚类算法建立的挖掘模型的维度成员,每个Cluster都是我们所选属性的一个综合的结果,但是代表着一个明显的特征。我们还可以在数据挖掘模型里面,对各个Cluster进行名称的标示,如Clusterl是高收入高消费高学历的群体,我们就可以给他命名,把所有的Cluster都命名为能代表本身特性的名称,这样,使得多为数据库的信息就更丰富了。篇二:常用数据挖掘算法案例频繁模式挖掘,关系挖掘,以及相互关系挖掘所谓频繁模式挖掘,指的是比如在商品交易数据库记录中,找出一起出现的商品集合,这些商品集合出现的频率要高于一个阈值,这些经常出现的商品集合称之为频繁模式。频繁模式的思路很简单,首先统计出每个单个商品出现的次数,这就构成了一个一维表。然后再根据一维表,商品两两组合产生一个二维表。然后再由二维表产生三维表,直至到n维表。其中可以利用apriori,进行剪枝,也就是说一维表中如果出现的频率低于阈值的商品,就可以直接去掉,应为包含该商品的高维商品集合的出现频率不可能高于该阈值,可以直接剪枝去掉。频繁模式挖掘还有一种更加高效的方式,就是FPGrowth,该方法通过扫描一遍数据库,在内存中构造一颗FPtree,基于这棵树就可以产生所有的频繁模式。很显然FPGrowth算法的效率要高很多,但是其缺陷也很明显,在内存中维护一颗FPtree的开销也是很大的。为了解决这个问题,一个直接的思路是将数据库水平分表到各台机器上,在各台机器上执行本地的FPGrowth,然后再将各台机器上的结果汇总起来,得到最终的FPGrowth的结果。所谓关系挖掘,值得是挖掘出各个项目之间的因果关系。关系挖掘的基础是频繁模式挖掘,通过频繁模式挖掘,很容易得出关系,举例就很容易明白,比如我们得到一个频繁集合:那么通过排列组合可以得到l的子集集合:那么很容易得到下面的推理集合,也就是挖掘出的关系:所有的关系挖掘本质上都是基于频繁模式推导出来的。在关系挖掘中,有一种非常有用的关系模式挖掘:miningquantitativeassociationruleso所谓quantitativeassociationrules是这样一种关系模式:该关系模式的挖掘,首先是确定我们所感兴趣的属性:quan1,quan2,cat,然后根据事先确定的间隔,将quan1,quan2按照一定的间隔划分成一定的catorgory,然后进行频繁模式挖掘,得出一些关系,然后将这些关系按照grid进行聚合,生成最后的关系模式。通过关系挖掘挖出的关系中往往有很多不是非常有用,因此需要通过另外的指标排除一些这样的关系,这个指标就是correlation,如下:Correlation是用来衡量A,B之间的相关性,从而排除那些没有意义的规则。对于上述所提到的关系挖掘,有一种称之为constraint-basedassociationmining,这是一种特殊的关系挖掘,它对于所挖掘出的条件加了一些限制条件,这些限制条件可能是由用户提出的,其主要目的是排除一些不感兴趣的关系。对于这种关系挖掘,最直接的办法先按照最普通的关系挖掘方法进行挖掘,然后利用条件来对结果进行。但是还有更好的方法,就是在挖掘的过程中利用这些条件,从而缩小整个挖掘过程中的searchspace,从而提高效率。这些限制条件分为这么几种:antimonotonic,monotonic,succinct,convertible,inconvertible,针对每一种的限制条件,都有一些通用的方法或策略来缩小挖掘的searchspace,可参阅相关资料。分类和预测分类树分类树是一种很常用的分类方法,它该算法的框架表述还是比较清晰的,从根节点开始不断得分治,递归,生长,直至得到最后的结果。根节点代表整个训练样本集,通过在每个节点对某个属性的测试验证,算法递归得将数据集分成更小的数据集.某一节点对应的子树对应着原数据集中满足某一属性测试的部分数据集.这个递归过程一直进行下去。该算法是数据挖掘中常用的一类方法。贝叶斯分类器贝叶斯分类的思想很简单,就是计算属性和分类之间的条件概率,选择使得条件概率最大的分类作为最终的分类结果,这是一种基于统计的分类方法,得到了广泛的引用。贝叶斯分类器分为两种,一种是朴素贝叶斯分类器,它基于贝叶斯理论:其中X代表特征向量,C代表分类.我们的目标就是找出使得这个后验概率最大的那个类.其中需要注意的是X中的各个特征分量是分布独立的.这样就有:朴素贝叶斯分类器最经典的应用场景就是垃圾邮件过滤。朴素贝叶斯分类器的升级版本就是贝叶斯网络,因为朴素贝叶斯网络假设样本的特征向量的各个特征属性是独立的,但对于现实世界,这样的建模未必合理,因此有人就提出了贝叶斯网络,贝叶斯网络假设各个属性之间是存在条件概率的。贝叶斯网络是一个各个属性组成的有向拓扑网络,每条边代表条件概率,通过贝叶斯网络能够计算出各个属性相互组合的条件概率。基于规则的分类器这种分类器利用IFTHEN的规则来进行分类。对于如何产生规则,有两种方法:第一种方法,就是从决策树中生成规则。因为决策树天然的就是规则。第二种方法,是采用SequentialCoveringAlgorithm,直接从训练样本中生成规则集。该方法的思路是一种general-to-specific的方法,该方法从一个空规则开始,然后向规则中依次逐渐增加属性测试条件,选择该属性测试值(也就是测试分界点,attr基于神经网络的分类器神经网络分类器是依据属性构造一个网络拓扑结构,该拓扑结构的边具有权重值,我们的目的是不断得利用训练样本然后不断得更新神经网络的边权重值。然后利用该网络就可以得到输出的分类。该算法模拟神经的组成结构,利用了单元之间的反馈机制。但该算法的缺点也很明显,网络拓扑结构的确定没有明确统一的方法论,很多只能靠规划者的经验,因此训练结果往往因人而异,限制了神经网络的使用。支持向量机分类器支持向量机是在训练样本空间中构造超平面来对样本进行分类,它的优势是对高维度不敏感。但效率较低,实施较为复杂。关联分类器关联分类器的思路很简单,前面我们提到频繁模式挖掘,我们将样本的某一属性的(属性,值)对作为一个条目,我们找出经常在一起出现的条目集合,然后找出这些频繁项目集合,这些频繁项目集合对应的样本集合中占主流的分类就作为关联规则的分类结果,该结果如下:关联分类器有三种方法:CBA,CMAR和CPARLazyLearnerLazyLearner主要有两种分类器:Knn分类器和Cbr分类器。Knn分类器思路很直接,找出和待分类样本最近的K的样本,然后将这k个样本中占主流的的类别作为分类结果分配给待分类样本。该分类器的关键在于如何确定k,一种思路是根据经验,另外一种思路是迭代,让k从1开始递增,计算每个k取值时对某一测试集的错误率,选择错误最小的那个k。另外一个关键就是如何快速得找出k个最近的邻居,这需要我们对各个样本点进行事先排序,并设计一个合适的数据结构,使得找出k个最近邻居的复杂度降为log|D|.预测所谓预测,就是根据既有的数据预测新出现的数据的预测值。预测有两种方法,线性回归和非线性回归。所谓线性回归,指的是Y=b+wX公式1其中X可以是向量,比如(x1,x2),因此线性回归则变成y=w0+w1*x1+w2*x2公式2对于公式1,其目标就是求出w向量。那么比较常用的方法就是最小二乘法,使得求出的w对于已有的样本使其方差和最小。方差和就是目标函数,目标函数就是自变量w的一个函数,通过求导求极值,很容易得到使得目标函数最小的w的值。通过一些软件包,如SAS,matlab,SPSS很容易做这种线性回归的w计算。并不是所有的模型都是线性模型,实际的问题中很多模型是非线性的,比如多项式,如下y=w0+w1*x+w2*x*x+w3*x*x*x解决这种问题的思路是将非线性模型转化为线性模型,然后再用线性回归的方法来解决。比如上面的多项式公式,我们令x1=xx2=x*xx3二x*x*x这样就变成了y=w0+w1*x1+w2*x2+w3*x3这就变成了线性回归的问题。聚类聚类是数据挖掘需要解决的另外一个问题,分类是我们知道确切的分类结果,知道我们需要将样本分成具体的哪几类。而聚类问题是实现不知道我们的样本具体属于哪些类别,而需要我们从样本中发掘出这些类别。下面谈几种较为通用的聚类方法谈谈。基于分区的聚类法该方法的一个典型的方法就是K-means,该方法非常简单,首先确定我们需要将数据样本分成多少个类,这个需要确定,我们称之为k。然后从样本中任意选择k个样本作为k个类的中心,然后计算每个样本到这k个中心的距离,把他们分配到最相近的类。这样就得到k个聚类,然后重新计算这k个聚类的中心,然后再重复前面的过程,直至没有样本被重新分配从而达到收敛。下面是k-means的伪码基于层次的分类法基于层次的分类法有两种:凝聚和分裂。凝聚:它基于一种自底而上的策略,在最开始的时候,每个样本都代表一个聚类,然后计算两两之间的区分度,然后进行合并,这个合并一直按照这样的方式持续下去,直至所有的样本都被合并为一个类。分裂:它基于一种自上而下的策略,在最开始的时候,所有的样本都是一个类,然后会依据一些区分方法,进行分裂,直至每个样本都分裂成一个聚类。基于层次的分类法,其意义在于其他的聚类方法引入这种基于层次的思路,可以被改造成一个多阶段的的聚类方法,可以大大改进聚类的质量。基于密度的分类法这种方法的一个代表就是DBSCAN。要理解DBSCAN,首先要明白这么几种概念:某一样本在e半径内的邻居称之为e-邻居。如果某一样本的e-邻居个数大于某一最小值,那该样本被称之为核心样本。如果q是核心样本,p是q的e-邻居,那么p是q的直接密度可达。对于一个样本链p1,p2,..pn,如果p1=q,pn=p,pi+1是pi的直接可达,那么p就是q的密度可达。如果p,q都是o的密度可达,那么p,q就是密度连通的。有了这些概念,算法就很简单了,首先找出样本中所有的核心样本,那么基于这些核心样本,这些核心样本就代表某一个聚类。遍历这些核心样本,不断找到他们的密度可达的样本,其间某些样本就会被不断合并,直至所有的样本分类趋于稳定,不会再有新的点被加入各个聚类。基于grid的聚类法该算法的代表是STING,它比较晦涩,从表面上来看,它似乎不是一种显然的聚类法。首先我们先划分一些层次,每个层次上我们根据维度或者概念分层不同的cell,实际上这里的每个层次对应的是样本的一个分辨率。每个高层的cell在其下一层中被对应得划分成多个cell,每个cell我们都计算出它的统计信息,估计出它的分布。利用这样的结构,我们很容易进行查询,比如我们查询具有某些属性的样本,我们从上到下开始,根据cell的统计信息计算query在每个cell的置信区间,找出最大的那个cell,然后到下一层,依次直至到最底层。这样的好处是,我们不用计算所有的样本,算法每进一层都会抛弃不相关的样本,所需的计算量会越来越少,那么速度就会很快。这种方法虽然不是一种显然的聚类法,但它确实可以用来聚类,因为query返回的样本实际上就是某一聚类。Query本质上于聚类问题是有等价性的。基于模型的聚类法这种聚类法可以用来增强K-means。样本假设可以被分为K个聚类,每个聚类可以被看成一种分布,比如高斯分布(高斯分布很符合K-means),K个聚类就是K个高斯分布模型,但我们不知道K个模型的具体参数。由于这是k个不同的高斯模型的混合体,因此每个样本实际上除了本身属性值之外还包含了一个隐藏变量(该隐藏变量用以表示该样本是由哪个高斯模型产生的),这实际上就是一个典型的EM算法的应用场景,除了估计这k个模型的参数,还需要估计隐藏变量。接下来就是利用EM来估计这些参数(模型参数和隐藏变量),估计出的隐藏变量就代表样本的聚类。对高维样本进行聚类CLIQUE是这种方法的一个代表,其思想是从低维到高维(1维到n维)进行查询,首先在低维空间内找到densentiyunit,然后在低维空间的densentiyunit中在继续寻找较高维空间中的densentiyunit。它本质上也是grid聚类法,它不是一种显然的聚类法,也是通过query来实现隐式得聚类。有限制条件的聚类这种聚类方法需要有一些特别的策略,需要针对不同场景,不能一概而论。这里就不讲了。奇点检测检测奇点非常有用,用于检测那些不同寻常的数据。比如最常用的思路是基于距离的,如果一个样本在一定距离内的邻居很少,那么他就可以被认为是奇点。另外还有基于统计概率的,基于密度的等等。篇三:数据挖掘算法案例Apriori算法实例描述以下是用户访问WEB日志的事务数,通过Apriori算法发掘其中的关联关系。表4-2Web日志用户事务数TID用户事务数TID用户事务数1ABF7AC2AC8AFL3ACI9ABH4AEL10ABF5AB11AB6AEM12AC算法开始时,扫描事务数据库D,对组成每个事务的所有项进行累加计数,得到候选1_项集Ci,如表4-3所示。定义min_sup=2,删除支持计数小于2的项,可以得到频繁1一项集L1,如表4-4所示。^4-3候选1-项集11-项集泰持度计数1-项集支持度计数■项集W持度度数AJ2E21JB5F?■LJC4HJMJ衷4-4频繁1-顷集^1-项集.匕持度计数1-项集/持度衬数1-顶集持度计数A12E2C4B5F?■为发现频繁2一项集集合1,2,算法使用1,[生成候选2一项集集合C2,扫面事务数据库D,计算C2中每一个候选项集的支持度,将支持度小于2的候选2一项集删除,将得到频繁2一项集L2,如表4-6所示。衷4-5候选卜项集%2-项集龙持度H数2-项集龙持度计数3-项集芝支度V数AB5BC(JCF()AC4BE(JEF()AE2BF2AF?■CE0^4-6顼繁7-项集上3-项集支持度汁数2-项集就持度计数3-项集龙待度计数AB5AFAE2AC4HF2(3)使用频繁2一项集Lz来求候选3一项集,从连接步开始,首先令C3={{ABC},(ABE),fABF),FACE),fACF),(AEF}}。由Apriori反单调性质,即频繁项集子项集也是频繁集的,即任何一个k一项集,只要它其中的任何一个(k-1)一项子集不属于频繁-项集,则说明这个k一项集也不是频繁的。所以,根据Apriori算法的剪枝步操作就不需要再把这条k一项集选到候选项集k一项集中。例如:由上面我们得到的ACF项集,有三个子集:AC,AF,CF。其中CF不属于L2中的频繁2一项集,所以通过剪枝步ACF就不是候选3一项集里的项。根据该方法,可以确定5个候选不可能是频繁的,因此,把它们从C3中删除,得到如表4-7所示的候选3一项集。然后,扫描事务数据库D计算C3中每个项的候选计数,得到频繁3一项集L),如表4-8所示。3-项集工持度计数ABF3-项集工持度计数ABF2表4-7候选3-项集q分顶集£支度度数ABF2^4-8顼繁3-项集乌最后得到了频繁3一项集,由该频繁项集可以得到关联规则,并可对这些关联规则进行分析,得到事务数据集中相关事务间的信息。支持度:\{T-.AUB^TJED}\supp(AnB)=|D|置信度:I{T:AUB^TJED)Iconf(A-\T.a^TTeD\最后得到关联规则:表5-3由频繁3-项集A-B-F得到的关联规则关联规则置信度关联规则置信度关联规则置信度A=>BAF2/12=16%AfnF2/5=40%F=>AAB2/3=67%BnA/\F2/5=40%A八FnB2/3=67%F,'BnA2/2=100%PageRank算法实例描述:假设有4个网页,它们相互之间有链接,其结构如图所示,为每个网页赋予的初始PR都是1。有如下公式:PG(A)=(1-d)+d*(PR(T1)/C(T1)++PR(Tn)/C(Tn))其中,PR(A)是指网页A的PR,T1,T2,...,Tn是指网页A的链入网页PR(Ti)是网页Ti的PRC(Ti)是网页Ti的链出数量d是一个衰减因子,通常取值0.85。图1各网页的初始PR先看网页A,衰减因子之后的值是1*0.85=0.85。它有两个链出网页,因此分别传递给0.425给B和C。对于网页B和C,因为只有一个链出网页,它们分别传0.85给相应的网页,每个网页都有0.15没有传递给任何其他网页,因此计算结果为:TOC\o"1-5"\h\zPR(A)=0.15+0.85*(1/1)=1;PR(B)=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论