2016-12-28 5 views
0

Я изучаю machine learning book, written by Boštjan Kaluža, Pact publishing.Понимание кода Weka

Вот краткое определение кода.

код, который стремится исследовать нагрев и нагрузке охлаждения требования зданий в зависимости от их характеристик строительства , таких как поверхности, стены и площадь крыши, высота, дедовщина области, и исследователи использовали compactness.The симулятор для проектирования 12 различных конфигураций домов при изменении 18 зданий характеристики. Наша первая цель - систематически анализировать воздействие , которое каждое здание характеризует на целевой переменной, что , нагрузка на нагрев или охлаждение. Мы будем использовать линейную регрессию для оценки. Модель линейной регрессии построила функцию , которая линейно объединяет входные переменные для оценки нагрузки .

В таблице ниже приведены данные, которые мы анализируем: enter image description here

Вот код:

public static void main(String[] args) throws Exception { 
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 

    System.out.print("Enter the path of the data file:");  
    String s = br.readLine(); 

    // load CSV  
    CSVLoader loader = new CSVLoader();  
    loader.setSource(new File(s)); 

    Instances data = loader.getDataSet(); 

    //We will start with learning a model for heating load by setting the class 
    //attribute at the feature position 
    data.setClassIndex(data.numAttributes() - 1); 

    //The second target variable—cooling load—can be now removed: 
    Remove remove = new Remove(); 
    remove.setOptions(new String[]{"-R", data.numAttributes()+""}); 
    remove.setInputFormat(data); 
    data = Filter.useFilter(data, remove); 

    data.setClassIndex(data.numAttributes() - 1); 
    LinearRegression model = new LinearRegression(); 
    model.buildClassifier(data); 
    System.out.println(model);  
} 

В коде, мы удалили «Вторая цель нагрузки переменной охлаждения» , Вопрос, который я хочу задать, - почему мы это сделали? Заранее спасибо.

ответ

1

x1 - xn ввод y1 to y2 являются целевыми (выходными). Они сначала хотят линейную регрессию для x1-y1, например. тепловая нагрузка. Вот почему они удаляют последний.

1

Скорее всего, будут две модели; один для прогнозирования нагрузки на нагрев и один для прогнозирования нагрузки охлаждения. Причина состоит в том, что попытка предсказать их обоих вместе приведет к многомерной регрессии, а не к линейной регрессии. В линейной регрессии существует только одна зависимая переменная.

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