代码改变世界

随笔分类 -  数据挖掘

对Weka中DBSCAN算法的分析以及在C#中的实现

2009-05-22 20:43 by Yin.P, 5022 阅读, 收藏, 编辑
摘要: DBSCAN算法是常用的数据挖掘算法。所有的聚类方法分为若干类型,前面讨论过的KMEANS算法是基于划分的方法进行聚类,而这次提到的DBSCAN算法是基于密度的方法。当然其它的还有基于层次凝聚和分裂的方法、基于模型的方法等。我先对Weka中实现的DBSCAN算法进行一个介绍和分析,然后再给出我自己的实现方法。但是在这之前要解释几个概念,如果之前没有了解过这个算法的话,最好是先熟悉几个概念:epsilon-邻域、核心对象、(直接)密度可达、密度相连,这些概念可以在《数据挖掘概念与技术》一书中找到,了解这些概念对理解这个算法来说是很重要的。 阅读全文

文本向量表示及TFIDF词汇权值

2009-05-14 23:16 by Yin.P, 4821 阅读, 收藏, 编辑
摘要: 文本相似计算是进行文本聚类的基础,和传统结构化数值数据的聚类方法类似,文本聚类是通过计算文本之间"距离"来表示文本之间的相似度并产生聚类。文本相似度的常用计算方法有余弦定理和Jaccard系数。但是文本数据与普通的数值数据或类属数据不同,文本数据是一种半结构化数据,在进行文本挖掘之前必须要对文本数据源进行处理,如分词、向量化表示等,其目的就是使用量化的数值来表达这些半结构化的文本数据。使其适用于分析计算。 阅读全文

聚类基本数学模型

2009-04-11 16:23 by Yin.P, 4234 阅读, 收藏, 编辑
摘要: 聚类方法是一类用途非常广泛的算法,聚类包含很多各式各样的算法。所有这些算法都有它的基本数学模型。本文就简单介绍一下聚类的基本数学模型。了解了基本数学模型就了解了聚类最本质的原理。无论是学习算法还是自己开发新的算法,学习基本数学模型都是很有帮助的。本文的目的一方面是介绍数学模型,另一方面也算是自己学习内容的一个记录吧。 阅读全文

KMeans算法演示程序

2009-02-02 11:36 by Yin.P, 9305 阅读, 收藏, 编辑
摘要: 这几天又把《数据挖掘概念与技术》这本书翻出来看了看,随便做了个演示程序实现了书中的K-Means算法。也算是一种复习和积累吧。最先这个算法完全是用C#来做的,数据样本点是用的类作为其数据结构,后来在测试中发现运行速度不太理想。就改为用C++实现算法本身,然后通过C#调用(P\Invoke)C++导出的函数来完成。最终的效果如下面的图所示 阅读全文

利用SSAS 2005进行数据挖掘

2008-11-28 22:43 by Yin.P, 3722 阅读, 收藏, 编辑
摘要: 在SSAS中一个挖掘结构可以包含多个挖掘模型,如果只有一个挖掘模型,那么SSAS会自动创建一个相应的挖掘结构。挖掘结构和挖掘模型的区别就在于挖掘结构中包含多个将要用于挖掘的属性列,这些列中有的是作为预测列,有的作为输入列,有的既是输入又是可预测列。我们可以利用挖掘结构中的若干列构造属于同一个挖掘结构的不同挖掘模型,这些挖掘模型可能使用了不同的数据挖掘算法。也就是说挖掘模型就是在挖掘结构中选择若干列并使用各种算法构造而成。 阅读全文