當前位置: 首頁>>代碼示例>>Java>>正文


Java Instance.classValue方法代碼示例

本文整理匯總了Java中weka.core.Instance.classValue方法的典型用法代碼示例。如果您正苦於以下問題:Java Instance.classValue方法的具體用法?Java Instance.classValue怎麽用?Java Instance.classValue使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在weka.core.Instance的用法示例。


在下文中一共展示了Instance.classValue方法的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: instancesToDMatrix

import weka.core.Instance; //導入方法依賴的package包/類
public static DMatrix instancesToDMatrix(Instances instances) throws XGBoostError {
    long[] rowHeaders = new long[instances.size()+1];
    rowHeaders[0]=0;
    List<Float> dataList = new ArrayList<>();
    List<Integer> colList = new ArrayList<>();
    float[] labels = new float[instances.size()];

    for(int i=0; i<instances.size(); i++) {
        Instance instance = instances.get(i);
        rowHeaders[i] = dataList.size();
        processInstance(instance, dataList, colList);
        labels[i] = (float) instance.classValue();
    }
    rowHeaders[rowHeaders.length - 1] = dataList.size();
    int colNum = instances.numAttributes()-1;
    DMatrix dMatrix = createDMatrix(rowHeaders, dataList, colList, colNum);

    dMatrix.setLabel(labels);
    return dMatrix;

}
 
開發者ID:SigDelta,項目名稱:weka-xgboost,代碼行數:22,代碼來源:DMatrixLoader.java

示例2: isClassTheMajortiy

import weka.core.Instance; //導入方法依賴的package包/類
private boolean isClassTheMajortiy(ArrayList<Instance> instances, double classification){
	
	List<Instance> instancesList = new ArrayList<>(instances);
	TreeMap<Double, Double> classificationProbability = new TreeMap<>();
	Attribute classAttribute = instances.get(0).classAttribute();
	
	for (double i = 0; i < classAttribute.numValues(); i++) {
		int matchedClassCount = 0;
		
		for (Instance instance : instancesList) {
			if(instance.classValue() == i){
				matchedClassCount++;
			}
		}
		
		classificationProbability.put(((double) matchedClassCount / (double) instancesList.size()), i);
	}
	
	return (classificationProbability.lastEntry().getValue() == classification);
}
 
開發者ID:thienle2401,項目名稱:G-eRules,代碼行數:21,代碼來源:GeRules.java

示例3: getVotesForInstance

import weka.core.Instance; //導入方法依賴的package包/類
@Override
	public double[] getVotesForInstance(Instance inst) {
		// TODO Auto-generated method stub
		
		// increase no. of seen intances
		totalSeenInstances++;
		
		// check if there is any rules that cover the instance
		ArrayList<Rule> coveredRules = RulesCoveredInstance(inst);
//		logger.debug("No. Rules cover instance: " + coveredRules.size());
		
//		logger.debug(inst);
		// return prediction if there are rules that cover the instance
		if(coveredRules.size() > 0){
			
			actualAttempts++;
			
			double[] classPrediction = new double[inst.numClasses()];
			// vote class labels from all available rules
			
			for (Rule rule : coveredRules) {
				classPrediction[(int)rule.classification]++;
//				logger.debug(rule.printRule());
                        }
                        
			// actual attempt
			if(Utils.maxIndex(classPrediction) == (int) inst.classValue()){
				actualAttemptsCorrectlyClassified++;
			}
			return classPrediction ;
		}
		
		// otherwise, return the majority class
		return observedClassDistribution.getArrayCopy();
	}
 
開發者ID:thienle2401,項目名稱:G-eRules,代碼行數:36,代碼來源:GeRules.java

示例4: containOtherClasses

import weka.core.Instance; //導入方法依賴的package包/類
private boolean containOtherClasses(ArrayList<Instance> instances, double classification){
	
	List<Instance> instancesList = new ArrayList<>(instances);
	
	for (Instance instance : instancesList) {
		if(instance.classValue() != classification){
			return false;
		}
	}
	return true;
}
 
開發者ID:thienle2401,項目名稱:G-eRules,代碼行數:12,代碼來源:GeRules.java

示例5: instancesToDenseDMatrix

import weka.core.Instance; //導入方法依賴的package包/類
public static DMatrix instancesToDenseDMatrix(Instances instances) throws XGBoostError {
    int colNum = instances.numAttributes()-1;
    int rowNum = instances.size();

    float[] data = new float[colNum*rowNum];
    float[] labels = new float[instances.size()];
    Attribute classAttribute = instances.classAttribute();
    int classAttrIndex = classAttribute.index();

    for(int i=0, dataIndex = 0; i<instances.size(); i++) {
        Instance instance = instances.get(i);

        labels[i] = (float) instance.classValue();
        Enumeration<Attribute> attributeEnumeration = instance.enumerateAttributes();
        while (attributeEnumeration.hasMoreElements()) {
            Attribute attribute = attributeEnumeration.nextElement();
            int attrIndex = attribute.index();
            if(attrIndex == classAttrIndex){
                continue;
            }
            data[dataIndex]= (float) instance.value(attribute);
            dataIndex++;
        }
    }


    DMatrix dMatrix = new DMatrix(data, rowNum, colNum);

    dMatrix.setLabel(labels);
    return dMatrix;

}
 
開發者ID:SigDelta,項目名稱:weka-xgboost,代碼行數:33,代碼來源:DMatrixLoader.java

示例6: getInstanceWithPossibleMaxY

import weka.core.Instance; //導入方法依賴的package包/類
/**
 * @param samplePoint : some attributes are flexible; for such attributes, we use values of the samplepoint
 * @return
 * @throws Exception 
 */
public Instance getInstanceWithPossibleMaxY(Instance samplePoint) throws Exception{
	Instance retval = null;
	
	//we actually have the model
	if(models!=null){
		ArrayList<Branch2>[] branchLists = new ArrayList[ModelNum];
		for(int m=0;m<ModelNum;m++){
			branchLists[m] = getLeavesInfoForM5P(models[m]);
		}
		
		//now we intersect each leaf
		ArrayList<Branch2> combined = branchLists[0];
		for(int m=1;m<ModelNum;m++){
			combined = intersectBranch2Lists(combined, branchLists[m]);
		}
		
		//now we find the best in the combined list
		Instance temp;
		for(Branch2 branch : combined){
			temp = branch.maxPoint(samplePoint.dataset());
			if(retval==null || retval.classValue()<temp.classValue()){
				retval = temp;
				System.out.println("Current best performance is : "+retval.classValue());
			}
		}
	}
	return retval;
}
 
開發者ID:zhuyuqing,項目名稱:bestconf,代碼行數:34,代碼來源:COMT2.java

示例7: trainOnInstanceImpl

import weka.core.Instance; //導入方法依賴的package包/類
@Override
public void trainOnInstanceImpl(Instance inst) {
	// TODO Auto-generated method stub
	
	// add weight of respective class to classification distribution
	observedClassDistribution.addToValue((int) inst.classValue(), inst.weight());
	
	// only add instances to be learnt if there are no rule coverd the instance
	if(RulesCoveredInstance(inst).isEmpty()){
		slidingWindowsBuffer.add(inst);
	}
	// if there are rule(s) cover the instance, then update stattic in the rule
	else{
		
		// for each rule matched the instance,
		// update class distribution statistic
		for (Rule rule : RulesCoveredInstance(inst)) {
			rule.updateClassDistribution(inst);
			
			rule.noOfCovered++;
			
			// also update if the rule correctly cover an instance with it class
			if(inst.classValue() == rule.classification){
				rule.noOfCorrectlyCovered++;
			}else{					// validate the current rule
				if(rule.ruleShouldBeRemoved()){
					rulesList.remove(rule);
				}	
			}	
		}
		
	}
	
	// check if the sliding windows buffer is filled to the criteria
	if(slidingWindowsBuffer.size() == slidingWindowsSizeOption.getValue()){
					
                   // learn rules with the classifier
                   ArrayList<Rule> learntRules = prismClassifier.learnRules(slidingWindowsBuffer);

                   if(learntRules != null){
                           rulesList.addAll(learntRules);
                   }

                   // clear sliding window buffer to take more instances
                   slidingWindowsBuffer.clear();
	}
}
 
開發者ID:thienle2401,項目名稱:G-eRules,代碼行數:48,代碼來源:GeRules.java

示例8: calculateProbabilityOfOccurence

import weka.core.Instance; //導入方法依賴的package包/類
private double calculateProbabilityOfOccurence(RuleTerm ruleTerm, ArrayList<Instance> dataset, double classification ){
	
	int totalNoInstancesCoveredByRuleTerm = 0;
	int totalNoInstancesCoveredByRuleTermWithClassification = 0;
	List<Instance> instancesList = new ArrayList<>(dataset);
	
	for (Instance instance : instancesList) {
                          
		if(instance.value(ruleTerm.attribute) == ruleTerm.value){

			totalNoInstancesCoveredByRuleTerm++;
			
			// check if ruleTerm covered instance for specific classification
			if(instance.classValue() == classification){
				totalNoInstancesCoveredByRuleTermWithClassification++;
			}
			
		}
	}
	
	double probabilityOfOccurencesForClassification = (double) totalNoInstancesCoveredByRuleTermWithClassification / (double) totalNoInstancesCoveredByRuleTerm;
	
	
	return Double.isNaN(probabilityOfOccurencesForClassification) ? 0.0d : probabilityOfOccurencesForClassification;
}
 
開發者ID:thienle2401,項目名稱:G-eRules,代碼行數:26,代碼來源:GeRules.java

示例9: notContainClassification

import weka.core.Instance; //導入方法依賴的package包/類
private boolean notContainClassification(ArrayList<Instance> instances, double classification){
	
	List<Instance> instancesList = new ArrayList<>(instances);
	
	for (Instance instance : instancesList) {
		if(instance.classValue() == classification){
			
			return false;
		}
	}
	
	return true;
}
 
開發者ID:thienle2401,項目名稱:G-eRules,代碼行數:14,代碼來源:GeRules.java

示例10: updateClassDistribution

import weka.core.Instance; //導入方法依賴的package包/類
public void updateClassDistribution(Instance instance){
	
	// update class distribution of the rule with correct class label
	classDistribution[(int) instance.classValue()]++;
	
}
 
開發者ID:thienle2401,項目名稱:G-eRules,代碼行數:7,代碼來源:GeRules.java


注:本文中的weka.core.Instance.classValue方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。