1.参数设置(这两个参数我不怎么清楚什么意思,查了半天也没查到,有谁知道的务必不吝指教!!)

-K -- Use a kernel density estimator for numeric attributes rather than a normal distribution.对数值属性使用核密度估计代替正态分布

-D -- Use

supervised discretization to convert numeric attributes to nominal

ones.

这两者只能2选一

2.一开始加载arff文件是报错

原来是文件中属性有重名的,修改一下即可。

3.如果直接运行的话会因为内存不够而产生异常(数据量太大)

Exception in thread "main"

java.lang.OutOfMemoryError: Java heap space

at weka.core.Instances.sort(Instances.java:1231)

at weka.core.Instances.sort(Instances.java:1251)

at

weka.classifiers.bayes.NaiveBayes.buildClassifier(NaiveBayes.java:247)

at pers.NaiveBayesTest.main(NaiveBayesTest.java:37)

solution:右击要运行的class->Run

as->Run Cinfigurations->(X)=Argument

在VM

argument输入-Xmx512m即可运行。

4.代码如下:

package

pers;

import

java.io.File;

import

weka.classifiers.Classifier;

import

weka.classifiers.Evaluation;

import

weka.classifiers.bayes.NaiveBayes;

import

weka.core.converters.ArffLoader;

import

weka.core.Instances;

public class NaiveBayesTest

{

public

static

void

main(String[] args) throws Exception

{

// TODO Auto-generated method

stub

ArffLoader atf = new ArffLoader();

//Reads a source that is in

arff (attribute relation file format)

format.

File inputFile = new

File("Amazon_initial_50_30_10000.arff");//读入训练文件

atf.setFile(inputFile);

Instances instancesTrain = atf.getDataSet(); // 得到格式化的训练数据

instancesTrain.setClassIndex(instancesTrain.numAttributes()-1);//设置分类属性所在行号(第一行为0号),instancesTrain.numAttributes()可以取得属性总数

inputFile = new

File("Amazon_initial_50_30_10000test.arff");//读入测试文件

atf.setFile(inputFile);

Instances instancesTest = atf.getDataSet(); // 得到格式化的测试数据

instancesTest.setClassIndex(instancesTest.numAttributes() -

1); //设置分类属性所在行号(第一行为0号),instancesTest.numAttributes()可以取得属性总数

Classifier m_classifier = new

NaiveBayes();//用以建立一个naive

bayes分类器

String options[]=new

String[1];//训练参数数组

//options[0]="-K";//Use a

kernel estimator for numeric attributes rather than a normal

distribution.

//options[0]="-D";//Use

supervised discretization to convert numeric attributes to

nominal ones.

//m_classifier.setOptions(options);//设置训练参数

m_classifier.buildClassifier(instancesTrain); //训练

Evaluation eval = new

Evaluation(instancesTrain); //构造评价器

eval.evaluateModel(m_classifier, instancesTest);//用测试数据集来评价m_classifier

System.out.println(eval.toSummaryString("===

Summary ===\n",false));

//输出信息

System.out.println(eval.toMatrixString("===

Confusion Matrix ===\n"));//Confusion Matrix

}

}

训练数据和测试数据我用的是同一个文件:https://onedrive.live.com/redir?resid=DF3DA11703A9CA4C!164&authkey=!ACQWVXfn2asHy7I&ithint=file,.rar

项目文件我就懒得传了,和之前的decision

tree的类似,加入weka的jar包勿忘。

weka 贝叶斯 java_NaiveBayes朴素贝叶斯分类器weka实现相关推荐

  1. 朴素贝叶斯 半朴素贝叶斯_使用朴素贝叶斯和N-Gram的Twitter情绪分析

    朴素贝叶斯 半朴素贝叶斯 In this article, we'll show you how to classify a tweet into either positive or negativ ...

  2. 图像算法三 —— 贝叶斯和朴素贝叶斯

    文章目录 3. 贝叶斯和朴素贝叶斯 贝叶斯和朴素贝叶斯的区别 贝叶斯网络的概念 朴素贝叶斯的概念 朴素贝叶斯分类的数学原理 朴素贝叶斯的优缺点 3. 贝叶斯和朴素贝叶斯 贝叶斯和朴素贝叶斯的区别 朴素 ...

  3. 朴素贝叶斯 半朴素贝叶斯_SQL Server中的朴素贝叶斯预测

    朴素贝叶斯 半朴素贝叶斯 In this article, we will walk through Microsoft Naive Bayes algorithm in SQL Server. 在本 ...

  4. 贝叶斯与朴素贝叶斯入门及实战

    文章目录 什么是贝叶斯 朴素贝叶斯 原理 朴素贝叶斯优点 朴素贝叶斯缺点 贝叶斯模型 高斯分布朴素贝叶斯 多项式分布朴素贝叶斯 伯努利分布朴素贝叶斯 总结 贝叶斯实战 生成式模型和判别式模型的区别 什 ...

  5. 贝叶斯算法c语言,01 贝叶斯算法 - 朴素贝叶斯

    引子: 1.孩子的性别问题 已知一对夫妻生了2个孩子,其中一个是女孩,那么另一个也是女孩的概率的多少? 普遍大家会觉得生男生女都一样,所以另一个也是女孩的概率是1/2.而另一部分稍微聪明一点的人认为: ...

  6. python推荐系统算法朴素贝叶斯_朴素贝叶斯算法在人才盘点中的应用(之一)

    一.识别人才首先是处理不确定性问题 做招聘面试的HR应该会认同这样的经历. 打开应聘者简历,赫然写着TOP10名学毕业.抬头一瞧,小伙长得一表人才,精神抖擞,朝气蓬勃.HR兴趣大增. 再一看,研究方向 ...

  7. 贝叶斯(朴素贝叶斯,正太贝叶斯)及OpenCV源码分析

    一.原理 OpenCV实现的贝叶斯分类器不是我们所熟悉的朴素贝叶斯分类器(Naïve Bayes Classifier),而是正态贝叶斯分类器(Normal Bayes Classifier),两者虽 ...

  8. 基于sklearn的朴素贝叶斯_sklearn 朴素贝叶斯

    朴素贝叶斯是基于贝叶斯理论的一种监督学习算法,『朴素』意思是假设所有特征两两相互独立,给出类别y和一组依赖特征[x1..xn],根据贝叶斯理论,他们有如下的关系. P(y|x1,...xn)=P(y) ...

  9. 情感分析朴素贝叶斯_朴素贝叶斯推文的情感分析

    情感分析朴素贝叶斯 Millions of tweets are posted every second. It helps us know how the public is responding ...

最新文章

  1. Python Numpy包安装
  2. Netty3 源代码分析 - NIO server绑定过程分析
  3. thonny python ide_学习用 Thonny 写代码:一个面向初学者的Python IDE
  4. 国家计算机二级申诉,CCF关于CSP-J/S2020第二轮认证申诉的通知
  5. PAT甲级1096 Consecutive Factors :[C++题解]连续的因子、约数
  6. 【安全系列之加密算法】常用安全的加密算法
  7. 张颐武:周小平的意义
  8. 使用JDBC进行数据库的事务操作(2)
  9. redhat6 使用raid5的系统安装
  10. Vim进阶2 map映射
  11. win2008 mysql端口_使用自定义端口连接SQL Server 2008的方法
  12. java 回文遍历_java 寻找全部回文
  13. Python天天学_03_基础三
  14. 台式计算机最常用的IO总线,三总线结构的计算机总线系统由 (1) 组成。
  15. 存储器分类和硬盘缓存介绍
  16. 数学基础(0)-- 高等数学、概率论与数理统计
  17. 黑客工具软件大全100套(转)
  18. 火星坐标系解密-iDesktopX空间数据处理
  19. 一文讲透计算机网络的数据链路层
  20. VC6中如何让改变控件Botton的字体(大小和字体)

热门文章

  1. xshell解决小键盘乱码问题
  2. ArcGIS Pro3.0.2保姆级安装教程(附安装包)
  3. Flutter 适配android/iOS设备的单位换算
  4. 小程序悬浮按钮,悬浮导航球
  5. sdut-oop-6 计算各种图形的周长(多态)
  6. 2.25嵌入式课程学习总结
  7. 【23考研】计算机择校信息库-辽宁高校计算机相关专业22专业目录分类汇总(按专业课分类汇总)
  8. 微信小程序 自定义搜索框并关键字高亮
  9. 佳博Gprinter EVA G 打印机驱动
  10. python转exe怎么不会被杀毒软件_使用Python Shells绕过杀毒软件