资源简介
weka java 局部加权朴素贝叶斯 数据挖掘 机器学习
代码片段和文件信息
package weka.classifiers.xy;
import weka.classifiers.Classifier;
import weka.core.Instance;
import weka.core.Instances;
import weka.core.Utils;
public class LWNB extends Classifier{
int K=30;
public String[] getOptions() {
String [] options = new String [1];
options[0]=“K-number“;
return options;
}
public int getNumber(){
return K;
}
public void setNumber(int number){
K=number;
}
Instances train_set;
private int m_NumClasses;
private int m_numInstances;
private int m_numAttribute;
public void buildClassifier(Instances instances) throws Exception {
train_set=new Instances(instances);
m_NumClasses=instances.numClasses();
m_numInstances=instances.numInstances();
m_numAttribute=instances.numAttributes();
}
public double [] distributionForInstance(Instance instance)throws Exception {
double weight[]=new double[K];
double[]distances=calculateDistance(instancetrain_set);
double temp=0;
for(int i=0;i for(int j=i+1;j if(distances[i]>distances[j]){
temp=distances[i];
distances[i]=distances[j];
distances[j]=temp;
train_set.swap(i j);
}
}
}
Instances newinstances=new Instances(train_set0);
for(int i=0;i newinstances.add(train_set.instance(i));
}
double total_weight=0;
for(int i=0;i distances[i]/=distances[K-1];
distances[i]=1-distances[i];
total_weight+=distances[i];
}
for(int i=0;i weight[i]=(distances[i]*K)/total_weight;
}
m_numInstances=newinstances.numInstances();
m_NumClasses=newinstances.numClasses();
double [] probs=new double[m_NumClasses];//p(c|a)
double prob_c[]=new double[m_NumClasses];//p(c)
for(int i=0;i double t_same=0;
double t_weight=0;
for(int j=0;j if((int)newinstances.instance(j).classValue()==i){
t_same+=weight[j];
}
t_weight+=weight[j];
}
prob_c[i]=((1+t_same)/(m_NumClasses+t_weight));
}
// for(int i=0;i // prob_c[i]/=m_NumClasses;
// }
double[][]class_attri=new double[m_numAttribute-1][m_NumClasses];//p(a|c)
for(int i=0;i int num_attri=newinstances.attribute(i).numValues();
double t_same=0;
double t_weight=0;
for(int j=0;j for(int k=0;k if((int)instance.value(i)==(int)newinstances.instance(k).value(i)&&(int)newinstances.instance(k).classValue()==j){
t_same+=weight[k];
}
if((int)newinstances.instance(k).classValue()==j){
t_weight+=weight[k];
}
}
class
- 上一篇:本科毕业论文java外文翻译
- 下一篇:广工JAVA作业报告
相关资源
- 广工JAVA作业报告
- 本科毕业论文java外文翻译
- 操作系统内存分配回收算法(first f
- POI实现Excel导入导出并附带加载进度条
- 运动会成绩管理系统,java课程设计源
- java项目经验 大概有20个
- Java(OOP)练习及作业
- ExcelUtils.java
- java+swing+mysql实现的学生信息管理系统
- 学生选课管理系统.rar
- mchange-commons-java-0.2.12.jar
- java培训视频资源获取.zip
- JAVA+SQL实训报告--工资管理系统
- BeanUtils工具
- 期末大作业扫雷游戏单机版源码java实
- 五子棋java jsp代码实现
- java-upload分片文件接收,分片文件合并
- httpclientjar包
- 小程序微信支付后台Java
- Java爬虫完整.zip
- j2ee外文期刊以及相应的中文翻译
- Java EE wed 简单的购物车应用开发
- 真正国密SM2SM3SM4的前后台配套js和ja
- javaweb程序开发入门源代码
- java连连看
- java poi导入导出excel公共模块工具类
- java jQuery内侧
- JAVA JSP 医院管理系统的设计与实现
- 石大远程在线考试——《Java语言程序
- aliyun-java-sdk-dysmsapi.zip
评论
共有 条评论