2014-11-24 68 views
3

我想对使用Java的数据集合执行线性回归。我有几个问题..对数据执行线性回归(来自.arff文件) - JAVA,Weka

  1. 线性回归方法接受哪些数据类型? 因为我试图以纯名义格式和数字加载数据,但是当我试图将“数据”(在程序中创建的实例变量)传递给线性回归时,它给了我这个例外。 无法处理多值标称类

  2. 如何能够在java中将线性回归输出打印到控制台。我无法通过预定义的LinearRegression.java类生成代码,我知道buildClassifier()是将'data'作为输入文件的方法。但后来我无法前进。任何人都可以帮助我理解要输出到控制台的步骤顺序。

    protected static void useLinearRegression(Instances data) throws Exception{ 
    
    BufferedReader reader = new BufferedReader(new FileReader("c:\somePath\healthCare.arff")); 
    Instances data = new Instances(reader); 
    data1.setClassIndex(data1.numAttributes() - 1); 
    LinearRegression2 rl=new LinearRegression2(); 
    rl.buildClassifier(data); //What after this? or before 
    

回答

2
  1. 线性回归应该接受名义和数字数据类型。只是目标类不能是标称数据类型。

  2. 该模型的toString()方法应该能够吐出模型(其他分类器选项也可能需要根据您的需要),但是如果您也在预测和总结之后,您可能还需要一个评估对象。在那里,您可以使用toSummaryString()toMatrixString()获取有关生成的模型的其他统计信息。

希望对您有所帮助!

+0

多数民众赞成我就是这样做,甚至在我检查回来之前,结果:D,但非常感谢哟帮助。我正在完成任务,我留下了一个简单的逻辑。属性选择将完成,然后对于那些特定的属性,我必须执行线性回归。这是怎么做到的。我有这个想法,但不知道如何继续下去,使用这些选定的属性,我必须创建一个csv文件** - >将其转换为arff->将此文件提供给buildClassifier( ),在线性回归中。如果这是正确的过程,**如何建立一个具有选定属性的csv文件?** – Sashi 2014-11-25 01:04:01

+0

有一个[AttributeSelectedClassifier](http://weka.sourceforge.net/doc.dev/weka/classifiers/meta/AttributeSelectedClassifier。 html),可以在训练指定的分类器之前选择您的特征。祝你好运! – 2014-11-25 01:08:33