2014-11-24 6 views
3

Я хочу выполнить линейную регрессию в коллекции данных с использованием Java. У меня есть пара вопросов.Выполнение линейной регрессии по данным (из файла .arff) - JAVA, Weka

  1. какие типы данных допускают метод линейной регрессии? Потому что я попытался загрузить данные в чистом номинальном формате, а также в числовые, но тогда, когда я пытаюсь передать эти данные (переменная экземпляра, созданная в программе) в Linear Regression, это дает мне это исключение. Нельзя обрабатывать многозначный номинальный класс

  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 
    

ответ

2
  1. линейной регрессии следует принимать как номинальные и числовые типы данных. Просто, что целевой класс не может быть номинальным типом данных.

  2. Метод модели toString() должен иметь возможность выплюнуть модель (в зависимости от ваших потребностей также могут потребоваться другие параметры классификатора), но если вы также после прогнозов и сводок, вам может понадобиться объект оценки. Там вы можете использовать toSummaryString() или toMatrixString(), чтобы получить другую статистику о модели, которая была сгенерирована.

Надеюсь, что это поможет!

+0

То, что я сделал для достижения результата, еще до того, как я зарегистрировался здесь: D, Но благодарю вас за помощь. Я закрываю задачу, я остался с одной простой логикой. Выбор атрибута будет выполнен, а затем для этих конкретных атрибутов я должен выполнить линейную регрессию. Как это можно сделать. У меня есть эта идея, но я не знаю, как продолжить дальше, используя эти выбранные атрибуты, я должен ** создать файл csv ** -> преобразовать это в файл arff-> feed в файл buildClassifier (), в линейной регрессии. Если это правильная процедура, ** как создать файл csv с выбранными атрибутами? ** – Sashi

+0

Существует [AttributeSelectedClassifier] (http://weka.sourceforge.net/doc.dev/weka/classifiers/meta/AttributeSelectedClassifier. html), который можно использовать для выбора ваших функций перед обучением назначенного классификатора. Удачи! –

Смежные вопросы