- 博客(7)
- 收藏
- 关注
原创 java实现FP tree
主要参考了http://blog.csdn.net/sealyao/article/details/6460578中对于fp tree的介绍,fp算法的主要思路如下:1. 扫描数据集,按照每个item出现的次数对每条记录排序(从大到小)2. 再次扫描数据集,建立FP tree,同时把相同的item连接到“头”表中3. 扫描“头表”,为每个item建立CPB(conditional ...
2014-05-13 15:14:50
304
原创 java实现GMM算法
GMM算发步骤:1. 初始化参数,包括Gauss分布个数、均值、协方差;2. 计算每个节点属于每个分布的概率;3. 计算每个分布产生每个节点的概率;4. 更新每个分布的权值,均值和它们的协方差。基本参数类:public class Parameter { private ArrayList<ArrayList<Double>> pMiu; /...
2013-07-08 16:56:39
866
1
原创 java实现ID3算法
ID3是经典的分类算法,要理解ID3算法,需要先了解一些基本的信息论概念,包括信息量,熵,后验熵,条件熵。ID3算法的核心思想是选择互信息量最大的属性作为分割节点,这样做可以保证所建立的决策树高度最小。树结构代码: /** * C4.5决策树数据结构 * @author zhenhua.chen * @Description: TODO * @date 2013-3...
2013-07-04 15:10:12
168
原创 java实现apriori算法
apriori算法是经典的求频繁项集的算法,基本原理是:找出频繁1项集(需事先规定好门限),然后利用频繁1项集产生频繁2项集,以此类推。代码如下:public class AprioriAlgorithm { private static final int THRESHOLD = 2; /** * * @Title: appriGen * @Descrip...
2013-07-04 15:09:02
517
原创 java实现kmeans算法
kmeans算法是一种经典的聚类算法,其核心思想是:根据给定的聚类个数k,随机选择k个点作为初始的中心节点,然后按照样本中其他节点与这k个节点的距离进行分类。每分类一次就重新计算一次k个中心节点,直到所有样本中的节点所属的分类不再变化为止。代码:public class KmeansAlgorithm { private static final int T = 10; // 最大...
2013-07-04 15:08:14
326
原创 java实现adaboost算法
adaboost算法的主要原理是训练若干个弱分类器,根据训练结果赋予它们不同的权值,最后再将这些弱分类器组合起来,形成一个强分类器,adaboost的基本原理在http://wenku.baidu.com/view/49478920aaea998fcc220e98.html###中已经有很详细的描述这里使用上一篇博客中的感知器算法作为弱分类器,代码如下:首先是adaboost算法的结果...
2013-07-04 15:06:16
261
原创 java实现简单的感知器算法(Perceptron Algorithm)
使用诸如matlab之类的实验室语言实现各类DM算法很方便,可以很快的获得实验结果,因为各类经典的数学或者DM算法都以函数的形式体现,你要做的大部分工作都可以调用这些函数,而你只需要编写少量代码就ok。但使用这类语言也有缺点,其一是这样做的效率可能不怎么高,原因是你不清楚底层代码的实现而盲目调用。其二是无法真正理解这些经典的数学或者是DM算法(看懂一个算法距离实现一个算法还是很遥远的)。 so...
2013-07-04 15:04:08
552
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人