java—将.arff文件上载到eclipse中

kh212irz  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(373)

我想上传一个 .arff 文件到我的eclipseide中,这样我就可以运行一些机器学习测试,并且非常希望社区能帮助我解决这个问题。
目的是创建一个静态方法 loadData 它将文件路径的字符串作为参数并返回一个示例对象。
但是,局部变量的值 train 因为某种原因没有使用。
我使用的代码:

import weka.core.Instances;
import java.io.FileReader;

public class DatasetLoading {
public static void main(String[] args) {
    String dataLocation = "C:/Users/Emil/Downloads/Week 1/Arsenal_TRAIN.arff";
    Instances train;
    try {
        FileReader reader = new FileReader(dataLocation);
        train = new Instances(reader);
    } catch(Exception e) {
        System.out.println("Exception caught: "+e);
    }
}
}

副本 .arff 再现性文件:

@RELATION Arsenal

@ATTRIBUTE Leno  {0,1}
@ATTRIBUTE Tierney   {0,1}
@ATTRIBUTE Saka  {0,1}
@ATTRIBUTE class    {Loss,Draw,Win}
@DATA

1, 0,  0,  Loss
1, 0,  0,  Loss
0, 1,  1,  Draw
1, 0,  1,  Draw
0, 0,  1,  Win
0, 1,  1,  Win
1, 1,  1,  Win
0, 1,  1,  Win
1, 1,  0,  Win
1, 0,  1,  Win
1, 1,  0,  Loss
0, 1,  0,  Draw
1, 1,  0,  Draw
1, 1,  0,  Draw
0, 0,  1,  Win
1, 0,  1,  Win
0, 1,  1,  Win
1, 1,  0,  Win
1, 1,  1,  Win
1, 1,  0,  Win
oipij1gg

oipij1gg1#

我建议看一下wekawiki中关于如何使用wekaapi的条目。
下面是对代码的快速修改:

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_TRAIN.arff";
    Instances train = loadData(dataLocation);
    System.out.println(train);
  }
}

相关问题