数据挖掘算法学习(三)NaiveBayes算法,数据挖掘naivebayes


算法简介

NBC是应用最广的分类算法之一。朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单

算法假设

给定目标值时属性之间互相条件独立。

算法输入

训练数据   T={(x1,y1),(x2,y2),……,(xn,yn)}
待分类数据x0=(x0(1),x0(2),……,x0(n))T

算法输出
待分类数据
x0的分类结果y0∈{c1,c2,……,ck}

算法思想



weka运行
以weather.nominal.arff为例运行结果部分截图如下:


从结果中可以看出,有两个分类,因此生成一个2*2的混淆矩阵。

函数调用代码

//读入样本

Filefile= new File("F:\\Program Files (x86)\\Weka-3-7\\data\\weather.nominal.arff");

ArffLoaderloader = newArffLoader();

loader.setFile(file);

ins= loader.getDataSet();

ins.setClassIndex(ins.numAttributes()-1);

//初始化分类器并训练

 cfs= (Classifier)Class.forName("weka.classifiers.bayes.NaiveBayes").newInstance();

cfs.buildClassifier(ins);

//获取分类器结果

testingEvaluation.evaluateModelOnceAndRecordPrediction(cfs,testInst);

//打印分类结果

System.out.println("分类器的正确率:"+ (1-testingEvaluation.errorRate()));


运行结果如下:

分类器的正确率:0.9583333333333334


算法应用

垃圾邮件过滤系统分类web网页分类文本

垃圾邮件过滤系统可以参考论文:周威成 马素霞 齐林海,一种基于机器学习的垃圾邮件智能过滤方法。


原创文章,转载请注明出处,谢谢。




数据挖掘算法 需要什知识

主要是数据挖掘算法
有分类,有bayes、决策树、svm等;
聚类,有K-means、isodata等;
关联,有apriori和改进的apriori算法,
序列分析等方面的算法。
这些都是正统的,基于数据库的数据挖掘必备知识。

如果是基于web的,则最好还知道海量网页爬虫、网页结构解析、网页内容提取。
 

数据挖掘算法有什

国际权威的学术组织the IEEE International Conference on Data Mining (ICDM) 2006年12月评选出了数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART.
不仅仅是选中的十大算法,其实参加评选的18种算法,实际上随便拿出一种来都可以称得上是经典算法,它们在数据挖掘领域都产生了极为深远的影响。

1. C4.5
C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法. C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:
1) 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;
2) 在树构造过程中进行剪枝;
3) 能够完成对连续属性的离散化处理;
4) 能够对不完整数据进行处理。
C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。

2. The k-means algorithm 即K-Means算法
k-means algorithm算法是一个聚类算法,把n的对象根据他们的属性分为k个分割,k < n。它与处理混合正态分布的最大期望算法很相似,因为他们都试图找到数据中自然聚类的中心。它假设对象属性来自于空间向量,并且目标是使各个群组内部的均 方误差总和最小。

3. Support vector machines
支持向量机,英文为Support Vector Machine,简称SV机(论文中一般简称SVM)。它是一种监督式学习的方法,它广泛的应用于统计分类以及回归分析中。支持向量机将向量映射到一个更 高维的空间里,在这个空间里建立有一个最大间隔超平面。在分开数据的超平面的两边建有两个互相平行的超平面。分隔超平面使两个平行超平面的距离最大化。假 定平行超平面间的距离或差距越大,分类器的总误差越小。一个极好的指南是C.J.C Burges的《模式识别支持向量机指南》。van der Walt 和 Barnard 将支持向量机和其他分类器进行了比较。

4. The Apriori algorithm
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。

5. 最大期望(EM)算法
在统计计算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然 估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variabl)。最大期望经常用在机器学习和计算机视觉的数据集聚(Data Clustering)领域。

6. PageRank
PageRank是Google算法的重要内容。2001年9月被授予美国专利,专利人是Google创始人之一拉里·佩奇(Larry Page)。因此,PageRank里的page不是指网页,而是指佩奇,即这个等级方法是以佩奇来命名的。
PageRank根据网站的外部链接和内部链接的数量和质量俩衡量网站的价值。PageRank背后的概念是,每个到页面的链接都是对该页面的一次投票, 被链......余下全文>>
 

相关内容