91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

本算法基于weka實(shí)現(xiàn)的誤分類代價和測試代價基于id3算法的實(shí)現(xiàn)。

資源截圖

代碼片段和文件信息

package?weka.classifiers.trees.testcost;

import?java.io.Serializable;
import?java.util.Enumeration;
import?java.util.Vector;

import?weka.classifiers.Classifier;
import?weka.classifiers.Evaluation;
import?weka.core.*;

public?class?id3_entropy_cost?extends?Classifier?implements?AdditionalMeasureProducerSerializable{

/**
?*?
?*/
private?static?final?long?serialVersionUID?=?1L;



class?Node?implements?Serializable{
private?Instances?m_instances;

private?Attribute?m_attribute;

private?Node?[]?successor;

Node(Instances?insAttribute?att){
m_instances=ins;
m_attribute=att;
successor=null;
}

Node(Instances?ins){
m_instances=ins;
m_attribute=null;
successor=null;
}

}

private?Node?m_root;

// private?static?int?m_numClasses;?????????????????????????//使用靜態(tài)變量,保證類個數(shù)不為空。
//
// private?id3node?[]?successor;
//
// private?Instances?m_instances;
//
// private?Attribute?m_attribute;

????double?totalcost=0;


????public?Enumeration?enumerateMeasures()?{
????Vector?newVector?=?new?Vector(1);
????newVector.addElement(“measureAttributeCost“);
????return?newVector.elements();
??}

public?double?getMeasure(String?additionalMeasureName)?{
??????return?measureAttributeCost();
??}
??
public?double?measureAttributeCost(){
??return?totalcost;
??}

public?void?buildClassifier?(Instances?instances)?throws?Exception?{
m_root=buildTree(instances);
}

//遞歸的構(gòu)建一棵樹
public?Node?buildTree(Instances?instances)throws?Exception{
if(instances.numInstances()<=30){
// m_attribute=null;
// m_instances=new?Instances(instances);
return?new?Node(instances);
}

int?max=-1;
double?temp=0;
double?maxValue=0;
for(int?i=0;i if(i?==?instances.classIndex())?continue;
temp=computeEntropyReduce(instancesinstances.attribute(i));
if(temp>maxValue){
maxValue=temp;
max=i;
}
}
if(Utils.eq(maxValue?0)){
// m_attribute=null;
// m_instances=new?Instances(instances);
return?new?Node(instances);
}
else{
Attribute?att=instances.attribute(max);
Node?node=new?Node(instancesatt);
totalcost+=(att.cost());
int?m_numAttValues=att.numValues();
Instances?SplitInstances[]=new?Instances[m_numAttValues];
SplitInstances=splitInstances(instancesatt);
node.successor=new?Node[m_numAttValues];
for(int?i=0;i node.successor[i]=buildTree(SplitInstances[i]);
}
return?node;
}
}

double?computeEntropyReduce(Instances?instancesAttribute?attribute)throws?Exception{
double?EntropyReduce=computeEntropy(instances);
Instances?[]?SplitInstances=splitInstances(instancesattribute);
for(int?i=0;i

評論

共有 條評論