本章包括下面各节:
15.1 平均数
15.2 向平均数方向的回归
15.3 线性回归
详细内容请阅读纸质书《Alink权威指南:基于Flink的机器学习实例入门(Java)》,这里为本章对应的示例代码。
package com.alibaba.alink;
import com.alibaba.alink.operator.batch.BatchOperator;
import com.alibaba.alink.operator.batch.regression.LinearRegPredictBatchOp;
import com.alibaba.alink.operator.batch.regression.LinearRegTrainBatchOp;
import com.alibaba.alink.operator.batch.source.CsvSourceBatchOp;
import java.io.File;
public class Chap15 {
private static final String DATA_DIR = Utils.ROOT_DIR + "father_son" + File.separator;
private static final String ORIGIN_FILE = "Pearson.txt";
public static void main(String[] args) throws Exception {
BatchOperator.setParallelism(1);
CsvSourceBatchOp source = new CsvSourceBatchOp()
.setFilePath(DATA_DIR + ORIGIN_FILE)
.setSchemaStr("father double, son double")
.setFieldDelimiter("\t")
.setIgnoreFirstLine(true);
source.firstN(5).print();
source.lazyPrintStatistics();
source.filter("father>=71.5 AND father<72.5").lazyPrintStatistics("father 72");
source.filter("father>=64.5 AND father<65.5").lazyPrintStatistics("father 65");
LinearRegTrainBatchOp linear_model =
new LinearRegTrainBatchOp()
.setFeatureCols("father")
.setLabelCol("son")
.linkFrom(source);
linear_model.lazyPrintTrainInfo();
linear_model.lazyPrintModelInfo();
LinearRegPredictBatchOp linear_reg =
new LinearRegPredictBatchOp()
.setPredictionCol("linear_reg")
.linkFrom(linear_model, source);
linear_reg.lazyPrint(5);
BatchOperator.execute();
}
}