CREATE MODEL
功能描述
训练机器学习模型并保存模型。
注意事项
- 模型名称具有唯一性约束,注意命名格式。
- AI训练时长波动较大,在部分情况下训练运行时间较长,设置的GUC参数statement_timeout时长过短会导致训练中断。建议statement_timeout设置为0,不对语句执行时长进行限制。
语法格式
CREATE MODEL model_name USING algorithm_name
[FEATURES { {expression [ [ AS ] output_name ]} [, ...] }]
[TARGET { {expression [ [ AS ] output_name ]} [, ...] }]
FROM { table_name | select_query }
WITH hyperparameter_name = { hyperparameter_value | DEFAULT } [, ...] }
参数说明
model_name
对训练模型进行命名,模型名称具有唯一性约束。
取值范围:字符串,需要符合标识符的命名规范。
algorithm_name
训练模型的算法类型。
取值范围:字符型,当前支持:logistic_regression、linear_regression、svm_classification、kmeans。
FEATURES { {expression [ [ AS ] output_name ]} [, …] }
指定枚举训练模型的输入列名。expression表示列名,AS可选关键字,用于指定别名output_name。
取值范围:字符型,需要符合数据属性名的命名规范。
TARGET { {expression [ [ AS ] output_name ]}
指定监督学习任务中训练模型的目标列名(可进行简单的表达式处理),expression表示列名,AS可选关键字,用于指定别名output_name。
取值范围:字符型,需要符合数据属性名的命名规范。
table_name
数据源,表名。
select_query
数据源。字符串,符合数据库SQL语法。
hyperparameter_name
机器学习模型的超参名称。
取值范围:字符串,针对不同算法超参类型范围不同,取值范围详情请参考:原生DB4AI引擎章节的表2。
hp_value
超参数值。
取值范围:字符串,针对不同算法范围不同,取值范围详情请参考:原生DB4AI引擎章节的表3。
示例
1、创建测试表houses,并插入测试数据。
CREATE TABLE houses(id int,size int,lot varchar,price int);
INSERT INTO houses values('1','2','3','4');
INSERT INTO houses values('5','6','7','8');
2、创建模型。
CREATE MODEL price_model USING logistic_regression
FEATURES size
TARGET price
FROM houses
WITH learning_rate=0.88, max_iterations=default;