全部产品
Search
文档中心

云原生数据库 PolarDB:线性回归算法(Linear Regression)

更新时间:Nov 08, 2024

本文介绍了线性回归算法(Linear Regression,以下简称LR)相关内容。

简介

LR是利用线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。

使用场景

LR是一个回归模型,主要用于拟合数值。该模型简单,可解释性强。

LR适用于拟合趋势线,一条趋势线代表着时间序列数据的长期走势,它表示一组特定数据(如股票价格、GMV和销量)是否在一段时期内增长或下降。虽然可以根据肉眼观察数据点在坐标系的位置来画出趋势线,但是更恰当的方法是利用LR计算出趋势线的位置和倾斜率。

参数说明

下表中的参数为创建模型CREATE MODEL语法中model_parameter参数的取值,您可以根据当前需求选择对应的参数。

参数

说明

epoch

迭代次数。通常为正整数,默认值为-1。

说明

迭代次数设置为-1时,表示持续迭代直至收敛。

normalize

是否需要正则化。取值如下:

  • False(默认):在模型训练前不对数据进行正则化处理。

  • True:在模型训练前将数据进行正则化处理。

示例

创建模型与模型离线训练

/*polar4ai*/CREATE MODEL linearreg1 WITH
( model_class = 'linearreg', x_cols = 'dx1,dx2', y_cols='y',
 model_parameter=(epoch=3)) AS (SELECT * FROM db4ai.testdata1);

模型评估

/*polar4ai*/SELECT dx1,dx2 FROM EVALUATE(MODEL linearreg1, 
SELECT * FROM db4ai.testdata1 LIMIT 10) WITH 
(x_cols = 'dx1,dx2',y_cols='y',metrics='r2_score');

模型预测

/*polar4ai*/SELECT dx1,dx2 FROM
PREDICT(MODEL linearreg1, SELECT * FROM db4ai.testdata1 LIMIT 10)
WITH (x_cols = 'dx1,dx2');
说明

x_colsy_cols中的列数据类型必须是浮点型或整型。