【问题标题】:How to use date type in weka in java code?如何在 java 代码中的 weka 中使用日期类型?
【发布时间】:2013-11-04 23:16:46
【问题描述】:

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

【问题讨论】:

    标签: java weka


    【解决方案1】:

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

        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;
    

    这是一个我觉得有用的链接: http://zitnik.si/wordpress/2011/09/25/quick-intro-to-weka/

    【讨论】:

      猜你喜欢
      • 2013-04-14
      • 2015-06-22
      • 2011-07-10
      • 2014-06-06
      • 2011-10-22
      • 1970-01-01
      • 2017-03-06
      • 2015-10-03
      • 2014-12-26
      相关资源
      最近更新 更多