如何在java代码中使用weka中的日期类型?

Eil*_* Jr 4 java weka

我正在尝试创建具有一个日期属性和一个数字属性的训练实例。由于我的日期值,我收到错误。错误是:java.lang.IllegalArgumentException:属性既不是名义的也不是字符串!

我想我不明白如何处理这种格式。我已经搜索了很多,但所有示例都是关于在 arff 文件中使用它的,我找不到任何 java 代码的示例。如果您能告诉我哪里出了问题或者给我发送一些可以指导我解决这个问题的链接,我将非常感激。

这是代码:

    Attribute dateTimeAttribute = new Attribute("dateTime","yyyy-MM-dd HH:mm:ss");
    Attribute valueAttribute = new Attribute("value");

    FastVector fvWekaAttributesLinear = new FastVector(2);  

    fvWekaAttributesLinear.addElement(dateTimeAttribute);
    fvWekaAttributesLinear.addElement(valueAttribute); 

    Instances isTrainingSet = new Instances("Relation", fvWekaAttributesLinear, 100000); 
    isTrainingSet.setClassIndex(1);

    Instance ins = new Instance(2);

    ins.setValue((Attribute)fvWekaAttributesLinear.elementAt(0), "2009-07-15 10:00:00");


    ins.setValue((Attribute)fvWekaAttributesLinear.elementAt(1), 0.5); 
Run Code Online (Sandbox Code Playgroud)

Eil*_* Jr 5

这就是我解决问题的方法:

    Attribute dateTimeAttribute = new Attribute("dateTime","yyyy-MM-dd HH:mm");
    Attribute valueAttribute = new Attribute("value");

    FastVector fvWekaAttributesLinear = new FastVector(2);          
    fvWekaAttributesLinear.addElement(dateTimeAttribute);
    fvWekaAttributesLinear.addElement(valueAttribute); 

    Instances isTrainingSet = new Instances("Relation", fvWekaAttributesLinear, 100000);
    double[] attValues = new double[isTrainingSet.numAttributes()];

    attValues[0] = isTrainingSet.attribute("dateTime").parseDate("2009-07-15 10:00");
    attValues[1] = 0.5;
Run Code Online (Sandbox Code Playgroud)

这是我发现有用的链接: http: //zitnik.si/wordpress/2011/09/25/quick-intro-to-weka/