当前位置: 首页>>代码示例>>Java>>正文


Java MultiLabelInstances.getNumLabels方法代码示例

本文整理汇总了Java中mulan.data.MultiLabelInstances.getNumLabels方法的典型用法代码示例。如果您正苦于以下问题:Java MultiLabelInstances.getNumLabels方法的具体用法?Java MultiLabelInstances.getNumLabels怎么用?Java MultiLabelInstances.getNumLabels使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在mulan.data.MultiLabelInstances的用法示例。


在下文中一共展示了MultiLabelInstances.getNumLabels方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getChiPhiCoefficients

import mulan.data.MultiLabelInstances; //导入方法依赖的package包/类
/**
 * Get Chi and Phi coefficients
 * 
 * @param dataset Multi-label dataset
 * @return Matrix of doubles with Chi and Phi values
 */
public static double[][] getChiPhiCoefficients (MultiLabelInstances dataset)
{
    double[][] coefficients = new double[dataset.getNumLabels()][dataset.getNumLabels()];
    double phi, chi;
    
    try {                
        UnconditionalChiSquareIdentifier depid = new UnconditionalChiSquareIdentifier();
        LabelsPair[] pairs = depid.calculateDependence(dataset);
        Statistics stat = new Statistics();
        double [][] phiMatrix = stat.calculatePhi(dataset);
            
        for (LabelsPair pair : pairs) {
            chi = pair.getScore();
            phi = phiMatrix[pair.getPair()[0]][pair.getPair()[1]];
            coefficients[pair.getPair()[0]][pair.getPair()[1]] = chi;
            coefficients[pair.getPair()[1]][pair.getPair()[0]] = phi;
        }   
    }
    catch (Exception e) {
        e.printStackTrace();
    }
    
    return coefficients;  
}
 
开发者ID:i02momuj,项目名称:MLDA,代码行数:31,代码来源:ChartUtils.java

示例2: calculateCoocurrences

import mulan.data.MultiLabelInstances; //导入方法依赖的package包/类
/**
 * Calculate co-ocurrences of labels
 * 
 * @param mldata Multi-label dataset
 * @return Matrix of double with co-ocurrence values
 */
public static double[][] calculateCoocurrences(MultiLabelInstances mldata)
{        
    int nLabels = mldata.getNumLabels();
    Instances data = mldata.getDataSet();
        
    double [][] coocurrenceMatrix = new double[nLabels][nLabels];
    
    int [] labelIndices = mldata.getLabelIndices();
        
    Instance temp = null;
    for(int k=0; k<data.numInstances(); k++){   
        temp = data.instance(k);
            
        for(int i=0; i<nLabels; i++){
            for(int j=i+1; j<nLabels; j++){
                if((temp.value(labelIndices[i]) == 1.0) && (temp.value(labelIndices[j]) == 1.0)){
                    coocurrenceMatrix[i][j]++;
                }
            }
        }
    }
        
    return coocurrenceMatrix;
}
 
开发者ID:i02momuj,项目名称:MLDA,代码行数:31,代码来源:ChartUtils.java

示例3: getIRperLabel

import mulan.data.MultiLabelInstances; //导入方法依赖的package包/类
public double [] getIRperLabel(MultiLabelInstances mlData){
	int [] appearances = getAppearances(mlData);
	
	//Get max appearance
	int max = appearances[0];
	for(int i=1; i < appearances.length; i++){
		if(appearances[i] > max){
			max = appearances[i];
		}
	}
	
	//Calculate IR as maxFreq / freq[i]
	double [] ir = new double[mlData.getNumLabels()];
	for(int i=0; i<mlData.getNumLabels(); i++){
		ir[i] = (double)max / appearances[i];
	}
	
	return ir;
}
 
开发者ID:i02momuj,项目名称:MLDA,代码行数:20,代码来源:SCUMBLE.java

示例4: calculate

import mulan.data.MultiLabelInstances; //导入方法依赖的package包/类
/**
 * Calculate metric value
 * 
 * @param mlData Multi-label dataset to which calculate the metric
 * @return Value of the metric
 */
public double calculate(MultiLabelInstances mlData){
       Instances instances = mlData.getDataSet();
       
       int nLabels = mlData.getNumLabels();
       int [] labels = mlData.getLabelIndices();
       
       double [] entropies = new double[nLabels];
       
       for(int i=0; i<nLabels; i++){
           AttributeStats attStats = instances.attributeStats(labels[i]);
           
           if(attStats.nominalCounts != null){
               entropies[i] = Utils.entropy(attStats.nominalCounts);
           }
       }
       
       double minEntropy = Double.MAX_VALUE;
       for(double e : entropies){
           if(e < minEntropy){
               minEntropy = e;
           }
       }
       
       this.value = minEntropy;
       
       return value;
}
 
开发者ID:i02momuj,项目名称:MLDA,代码行数:34,代码来源:MinEntropy.java

示例5: calculate

import mulan.data.MultiLabelInstances; //导入方法依赖的package包/类
/**
 * Calculate metric value
 * 
 * @param mlData Multi-label dataset to which calculate the metric
 * @return Value of the metric
 */
public double calculate(MultiLabelInstances mlData){        
	Instances instances = mlData.getDataSet();
       
	int nLabels = mlData.getNumLabels();
       int [] labels = mlData.getLabelIndices();
       
       double [] entropies = new double[nLabels];
       
       for(int i=0; i<nLabels; i++){
           AttributeStats attStats = instances.attributeStats(labels[i]);
           
           if(attStats.nominalCounts != null){
               entropies[i] = Utils.entropy(attStats.nominalCounts);
           }
       }
       
       double maxEntropy = Double.MIN_VALUE;
       for(double e : entropies){
           if(e > maxEntropy){
               maxEntropy = e;
           }
       }
       
       this.value = maxEntropy;
       
       return value;
}
 
开发者ID:i02momuj,项目名称:MLDA,代码行数:34,代码来源:MaxEntropy.java

示例6: calculate

import mulan.data.MultiLabelInstances; //导入方法依赖的package包/类
/**
 * Calculate metric value
 * 
 * @param mlData Multi-label dataset to which calculate the metric
 * @return Value of the metric
 */
public double calculate(MultiLabelInstances mlData){        
	Instances instances = mlData.getDataSet();
       
	int nLabels = mlData.getNumLabels();
       int [] labels = mlData.getLabelIndices();
       
       double [] entropies = new double[nLabels];
       
       for(int i=0; i<nLabels; i++){
           AttributeStats attStats = instances.attributeStats(labels[i]);
           
           if(attStats.nominalCounts != null){
               entropies[i] = Utils.entropy(attStats.nominalCounts);
           }
       }

       double meanEntropy = 0;
       for(double e : entropies){
           meanEntropy += e;
       }
       meanEntropy /= entropies.length;
       
       this.value = meanEntropy;
       
       return value;
}
 
开发者ID:i02momuj,项目名称:MLDA,代码行数:33,代码来源:MeanEntropy.java

示例7: getAppearances

import mulan.data.MultiLabelInstances; //导入方法依赖的package包/类
public int [] getAppearances(MultiLabelInstances mlData){
	int [] appearances = new int[mlData.getNumLabels()];
	int [] labelIndices = mlData.getLabelIndices();
	
	for(Instance instance : mlData.getDataSet()){
		for(int label=0; label<mlData.getNumLabels(); label++){
			if(instance.value(labelIndices[label]) == 1){
				appearances[label]++;
			}
		}
	}
	
	return appearances;
}
 
开发者ID:i02momuj,项目名称:MLDA,代码行数:15,代码来源:SCUMBLE.java

示例8: calculate

import mulan.data.MultiLabelInstances; //导入方法依赖的package包/类
/**
	 * Calculate metric value
	 * 
	 * @param mlData Multi-label dataset to which calculate the metric
	 * @return Value of the metric
	 */
	public double calculate(MultiLabelInstances mlData){

        double SCUMBLE = 0.0;
        
//        ImbalancedFeature [] imbalanced_data =  Utils.getImbalancedWithIR(mlData, Utils.getSortedByFrequency(Utils.getAppearancesPerLabel(mlData)));
//        
//        ImbalancedFeature[] new_imbalanced_data = new ImbalancedFeature[imbalanced_data.length];
//        
//        for(int i=0; i<imbalanced_data.length; i++){
//            for(int j=0; j<imbalanced_data.length; j++){
//                if(mlData.getLabelNames()[i].equals(imbalanced_data[j].getName())){
//                    new_imbalanced_data[i] = imbalanced_data[j];
//                }
//            }
//        }
        
        double [] ir = getIRperLabel(mlData);
        
        int nLabels = mlData.getNumLabels();
        Instances instances = mlData.getDataSet();
        double IRLmean = 0;
        int nActive = 0;
        double prod = 1;
        double sum = 0;
        
        int [] labelIndices = mlData.getLabelIndices();
        
        for(Instance inst : instances){
        	IRLmean = 0;
        	prod = 1;
        	nActive = 0;
        	
        	for(int l=0; l<nLabels; l++){
        		if(inst.value(labelIndices[l]) == 1){
        			prod *= ir[l];
        			IRLmean += ir[l];
        			nActive++;
        		}
//        		else{
//        			prod *= 0;
//        		}        		
        	}
        	
        	if(nActive == 0){
        		sum += 0;
        	}
        	else{
        		IRLmean /= nActive;
            	
//            	System.out.println(IRLmean);
            	
            	sum += 1 - (Math.pow(prod, 1.0/nActive) / IRLmean);
        	}        	
        	
        }
        
        SCUMBLE = sum / mlData.getNumInstances();
        
		this.value = SCUMBLE;
		return value;
	}
 
开发者ID:i02momuj,项目名称:MLDA,代码行数:68,代码来源:SCUMBLE.java

示例9: calculate

import mulan.data.MultiLabelInstances; //导入方法依赖的package包/类
/**
 * Calculate metric value
 * 
 * @param mlData Multi-label dataset to which calculate the metric
 * @return Value of the metric
 */
public double calculate(MultiLabelInstances mlData){
	this.value = mlData.getNumLabels() * mlData.getFeatureIndices().length * mlData.getNumInstances();
	return value;
}
 
开发者ID:i02momuj,项目名称:MLDA,代码行数:11,代码来源:LxIxF.java

示例10: calculate

import mulan.data.MultiLabelInstances; //导入方法依赖的package包/类
/**
 * Calculate metric value
 * 
 * @param mlData Multi-label dataset to which calculate the metric
 * @return Value of the metric
 */
public double calculate(MultiLabelInstances mlData){
	this.value = mlData.getNumLabels();
	return value;
}
 
开发者ID:i02momuj,项目名称:MLDA,代码行数:11,代码来源:Labels.java


注:本文中的mulan.data.MultiLabelInstances.getNumLabels方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。