有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从属性计算实例数

我试图从.arff文件中的特定属性计算实例数。尽管如此,我似乎只能从显示的数据中选择属性,而不能选择值

在本例中,我试图选择Wins在数据中出现的次数,但是,代码只选择属性中的值Wins

以下是我正在使用的:

//create the class to load the data
package weka;

import weka.core.Instances;
import weka.core.converters.ConverterUtils.DataSource;

public class DatasetLoading {

  public static Instances loadData(String location) {
    try {
      return DataSource.read(location);
    }
    catch (Exception e) {
      System.err.println("Failed to load data from: " + location);
      e.printStackTrace();
      return null;
    }
  }

  public static void main(String[] args) {
    String dataLocation = "C:/Users/Emil/Downloads/Week 1/Arsenal_TRAIN1.arff";
    Instances train = loadData(dataLocation);
    System.out.println(train);
  }
}

//select for counts of values that appear in the data

public class test_learning {
public static void main(String[] args) throws Exception {
    String arff = "C:/Users/Emil/Downloads/Week 1/Arsenal_TRAIN1.arff";
    Instances data = DatasetLoading.loadData(arff);
    System.out.print("Num of Wins = " + data.attribute(2).value(2));

Output: Num of Wins = Win

预期:

Output: Num of Wins = 12

数据文件示例:

@relation Arsenal-weka.filters.unsupervised.attribute.Remove-R3

@attribute Leno {0,1}
@attribute Tierney {0,1}
@attribute class {Loss,Draw,Win}

@data
1,0,Loss
1,0,Loss
0,1,Draw
1,0,Draw
0,0,Win
0,1,Win
1,1,Win
0,1,Win
1,1,Win
1,0,Win
1,1,Loss
0,1,Draw
1,1,Draw
1,1,Draw
0,0,Win
1,0,Win
0,1,Win
1,1,Win
1,1,Win
1,1,Win

共 (1) 个答案

  1. # 1 楼答案

    您可以使用Instances.attributeStats(int)方法(Javadoc)获取第三个属性(AttributeStats Javadoc)的统计信息,而不是检索第三个属性(Javadoc)的第三个标称值