【问题标题】:How to create an attribute in Weka如何在 Weka 中创建属性
【发布时间】:2017-08-24 19:25:25
【问题描述】:

我正在使用 Java 中的 WEKA 进行数据挖掘项目,说明说我必须为数据集中的每个属性创建一个 Attribute 对象并将它们添加到 FastVector。我尝试查看 API,但我认为我做得不对,有人可以告诉我正确的方法。我正在使用 iris.arff 文件

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;

import weka.core.Attribute;
import weka.core.FastVector;
import weka.core.Instances;
import weka.core.converters.ArffSaver;

public class StartWeka {
	public static void main(String[]args)throws Exception{
		
		Instances dataset = new Instances(new BufferedReader(new FileReader("C:/Users/Student/workspace/Data Mining/src/iris.arff.txt")));
		
		Instances train = new Instances(dataset);
		train.setClassIndex(train.numAttributes()-1);
		
		System.out.println(dataset.toSummaryString());
		
		Attribute a1 = new Attribute("sepallength", 0);
        Attribute a2 = new Attribute("sepalwidth", 1);
        Attribute a3 = new Attribute("petalwidth", 2);
        
        FastVector attrs = new FastVector();
		attrs.addElement(a1);
	}
}

【问题讨论】:

    标签: java weka


    【解决方案1】:

    FastVector 已弃用。您可以改用 ArrayList。

    但是,如果您使用 arff 文件,则无需执行任何操作。您只需执行以下操作:

        ArffLoader loader = new ArffLoader();
        loader.setFile(new File("iris.arff");
        Instances structure = loader.getStructure();
        structure.setClassIndex(structure.numAttributes() - 1);
    

    从这里,您可以根据您的实例创建分类器。 (结构)。

    【讨论】:

      猜你喜欢
      • 2011-10-02
      • 2012-11-24
      • 2017-12-16
      • 1970-01-01
      • 2017-05-02
      • 2014-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多