Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java代码中使用weka中的日期类型?_Java_Weka - Fatal编程技术网

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

如何在java代码中使用weka中的日期类型?,java,weka,Java,Weka,我正在尝试创建具有一个日期属性和一个数字属性的培训实例。由于我的日期值,我得到了一个错误。 错误是: java.lang.IllegalArgumentException:属性既不是标称属性也不是字符串 我想我不明白如何处理这种格式。我已经搜索了很多,但是所有的例子都是关于在arff文件中使用它的,我找不到任何java代码的例子。如果你能告诉我哪里出了问题,或者给我发一些链接来指导我解决这个问题,我将非常感激 代码如下: Attribute dateTimeAttribute = new

我正在尝试创建具有一个日期属性和一个数字属性的培训实例。由于我的日期值,我得到了一个错误。 错误是: 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); 

我就是这样解决这个问题的:

    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;
以下是我发现有用的链接: