- 0
- 0
- 约1.11万字
- 约 8页
- 2024-07-28 发布于浙江
- 举报
数据挖掘贝叶斯(Bayes)算法java实现
注:本算法的实现仅仅适用于小规模数据集的实验与测试,不适合用于工程应用
算法假定训练数据各属性列的值均是离散类型的。若是非离散类型的数据,需要首先进行数据的预处理,将非离散型的数据离散化。
算法中使用到了DecimalCaculate类,该类是java中BigDecimal类的扩展,用于高精度浮点数的运算。该类的实现同本人转载的一篇
博文:对BigDecimal常用方法的归类中的Arith类相同。
算法实现的代码如下
viewplaincopytoclipboardprint?
1.packageBayes;
2.importjava.util.ArrayList;
3.importjava.util.HashMap;
4.importjava.util.Map;
5.importutil.DecimalCalculate;
6./**
7.*贝叶斯主体类
8.*@authorRowen
9.*@qq443773264
10.*@mailluowen3405@163.com
11.*@blog/luowen3405
12.*@data2011.03.15
13.*/
14.publicclassBayes{
15./**
16.*将原训练元组按类别划分
17.*@paramdatas训练元组
18.*@returnMap类别,属于该类别的训练元组
19.*/
20.MapString,ArrayListArrayListStringdatasOfClass(ArrayListArrayListStringdatas){
21.MapString,ArrayListArrayListStringmap=newHashMapString,ArrayListArrayListString();
22.ArrayListStringt=null;
23.Stringc=;
24.for(inti=0;idatas.size();i++){
25.t=datas.get(i);
26.c=t.get(t.size()-1);
27.if(map.containsKey(c)){
28.map.get(c).add(t);
29.}else{
30.ArrayListArrayListStringnt=newArrayListArrayListString();
31.nt.add(t);
32.map.put(c,nt);
33.}
34.}
35.returnmap;
36.}
37.
38./**
39.*在训练数据的基础上预测测试元组的类别
40.*@paramdatas训练元组
41.*@paramtestT测试元组
42.*@return测试元组的类别
43.*/
44.publicStringpredictClass(ArrayListArrayListStringdatas,Array
您可能关注的文档
最近下载
- 山东省青岛市2024-2025学年高一上学期期末选科测试地理试卷(含答案).pdf VIP
- 二年级上册 “快乐读书吧”必读书目试题.docx VIP
- 东王村地区水文地质图读图报告.pdf VIP
- 2026年中考科创班试题及答案.doc VIP
- 福建省泉州市2024-2025学年高一上学期1月期末英语试题(含答案).docx VIP
- 战略管理方法论咨询公司战略分析、战略设计、战略实施及战略控制核心方案(260页 ).pptx VIP
- 中国产科麻醉专家共识.pptx VIP
- 《中华优秀传统文化》教案 第6课 绘 画.docx VIP
- 九年级语文 文言文全集(7、8、9) 人教版.doc VIP
- 2025年体育单招政治试题与答案 .pdf VIP
原创力文档

文档评论(0)