【问题标题】:Perform Linear Regression on data (from .arff file) - JAVA, Weka对数据执行线性回归(来自 .arff 文件) - JAVA、Weka
【发布时间】:2015-01-21 23:05:17
【问题描述】:

我想使用 Java 对一组数据执行线性回归。我有几个问题..

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

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

    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
    

【问题讨论】:

    标签: java classification weka linear-regression


    【解决方案1】:
    1. 线性回归应该接受名义数据类型和数值数据类型。只是目标类不能是名义上的数据类型。

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

    希望对您有所帮助!

    【讨论】:

    • 这正是我为实现结果所做的工作,甚至在我返回这里之前:D,但非常感谢您的帮助。我正在完成任务,我只剩下一个简单的逻辑。将完成属性选择,然后对于那些特定的属性,我必须执行线性回归。如何做到这一点。我有这个想法,但不确定如何进一步进行,使用我必须创建一个 csv 文件 ->将其转换为 arff->将此文件提供给buildClassifier(),在线性回归中。如果这是正确的程序,如何使用选定的属性构建 csv 文件?
    • 有一个AttributeSelectedClassifier 可用于在训练指定分类器之前选择您的特征。祝你好运!
    猜你喜欢
    • 2011-07-27
    • 1970-01-01
    • 2017-06-29
    • 2014-02-18
    • 2014-08-12
    • 2022-10-12
    • 2017-02-04
    • 2016-03-06
    • 1970-01-01
    相关资源
    最近更新 更多