本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}