我正在研究machine learning book, written by Boštjan Kaluža, Pact publishing。
以下是代码的简要定义。
旨在调查加热和冷却负荷的代码 基于建筑的建筑要求 表面,墙壁和屋顶区域,高度,雾化等特征 面积和紧凑性。研究人员使用模拟器设计12 不同的房屋配置,而不同的18建筑 特点。我们的第一个目标是系统地分析 影响每个建筑物特征对目标变量的影响 是,加热或冷却负载。我们将使用线性回归 估计模型。线性回归模型构造了一个函数 线性组合输入变量以估算加热 负荷。
以下是代码:
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);
}
在代码中,我们删除了#34;第二个目标变量冷却负载"。我想问的问题是,我们为什么要这样做?提前谢谢。
答案 0 :(得分:1)
输入x1到xn y1到y2是目标(输出)。 他们首先想要对x1到y1进行线性回归,例如:加热负荷。这就是他们删除最后一个的原因。
答案 1 :(得分:1)
最有可能会有两种型号;一个预测加热负荷,一个预测冷负荷。原因是试图一起预测它们会导致多元回归,而不是线性回归。在线性回归中,只有一个因变量。