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
对训练模型进行命名,模型名称具有唯一性约束。
取值范围:字符串,需要符合标识符的命名规范。
- architecture_name
训练模型的算法类型。
取值范围:字符型,当前支持:logistic_regression、linear_regression、svm_classification、kmeans。
- attribute_list
枚举训练模型的输入列名。
取值范围:字符型,需要符合数据属性名的命名规范。
- attribute_name
在监督学习任务中训练模型的目标列名(可进行简单的表达式处理)。
取值范围:字符型,需要符合数据属性名的命名规范。
- subquery
数据源。
取值范围:字符串,符合数据库SQL语法。
示例
CREATE TABLE houses ( id INTEGER, tax INTEGER, bedroom INTEGER, bath DOUBLE PRECISION, price INTEGER, size INTEGER, lot INTEGER, mark text ); insert into houses(id, tax, bedroom, bath, price, size, lot, mark) VALUES (1,590,2,1,50000,770,22100,'a+'), (2,1050,3,2,85000,1410,12000,'a+'), (3,20,2,1,22500,1060,3500,'a-'), (4,870,2,2,90000,1300,17500,'a+'), (5,1320,3,2,133000,1500,30000,'a+'), (6,1350,2,1,90500,850,25700,'a-'), (7,2790,3,2.5,260000,2130,25000,'a+'), (8,680,2,1,142500,1170,22000,'a-'), (9,1840,3,2,160000,1500,19000,'a+'), (10,3680,4,2,240000,2790,20000,'a-'), (11,1660,3,1,87000,1030,17500,'a+'), (12,1620,3,2,118500,1250,20000,'a-'), (13,3100,3,2,140000,1760,38000,'a+'), (14,2090,2,3,148000,1550,14000,'a-'), (15,650,3,1.5,65000,1450,12000,'a-'); CREATE MODEL price_model USING logistic_regression FEATURES size, lot TARGET mark FROM HOUSES WITH learning_rate=0.88, max_iterations=default;