openGauss DB4AI-Query-模型训练和推断

DB4AI-Query:模型训练和推断

openGauss当前版本支持了原生DB4AI能力,通过引入原生AI算子,简化操作流程,充分利用数据库优化器、执行器的优化与执行能力,获得高性能的数据库内模型训练能力。更简化的模型训练与预测流程、更高的性能表现,让开发者在更短时间内能更专注于模型的调优与数据分析上,而避免了碎片化的技术栈与冗余的代码实现。

关键字解析

表 1 DB4AI语法及关键字

  

名称

描述

语句

CREATE MODEL

创建模型并进行训练,同时保存模型。

PREDICT BY

利用已有模型进行推断。

关键字

TARGET

训练/推断任务的目标列名。

FEATURES

训练/推断任务的数据特征列名。

MODEL

训练任务的模型名称。

使用指导

  1. 本版本支持的算法概述。

    当前版本的DB4AI支持基于SGD算子的逻辑回归(目前支持二分类任务)、线性回归和支持向量机算法(分类任务),以及基于K-Means算子的Kmeans聚类算法。

  2. 模型训练语法说明。

    • CREATE MODEL

      使用“CREATE MODEL”语句可以进行模型的创建和训练。模型训练SQL语句,现有一个数据集为kmeans_2d,该表的数据内容如下:

      openGauss=# select * from kmeans_2d;
       id |              position
      ----+-------------------------------------
        1 | {74.5268815685995,88.2141939294524}
        2 | {70.9565760521218,98.8114827475511}
        3 | {76.2756086327136,23.8387574302033}
        4 | {17.8495847294107,81.8449544720352}
        5 | {81.2175785354339,57.1677675866522}
        6 | {53.97752255667,49.3158342130482}
        7 | {93.2475341879763,86.934042100329}
        8 | {72.7659293473698,19.7020415100269}
        9 | {16.5800288529135,75.7475957670249}
       10 | {81.8520747194998,40.3476078575477}
       11 | {76.796671198681,86.3827232690528}
       12 | {59.9231450678781,90.9907738864422}
       13 | {70.161884885747,19.7427458665334}
       14 | {11.1269539105706,70.9988166182302}
       15 | {80.5005071521737,65.2822235273197}
       16 | {54.7030725912191,52.151339428965}
       17 | {103.059707058128,80.8419883321039}
       18 | {85.3574452036992,14.9910179991275}
       19 | {28.6501615960151,76.6922890325077}
       20 | {69.7285806713626,49.5416352967732}
      (20 rows)
      

      该表的字段position的数据类型为 double precision[].

    • 以Kmeans为例,训练一个模型。从kmeans_2d训练集中指定position为特征列,使用kmeans算法,创建并保存模型point_kmeans。

      openGauss=# CREATE MODEL point_kmeans USING kmeans FEATURES position FROM kmeans_2d WITH num_centroids=3;
      NOTICE:  Hyperparameter max_iterations takes value DEFAULT (10)
      NOTICE:  Hyperparameter num_centroids takes value 3
      NOTICE:  Hyperparameter tolerance takes value DEFAULT (0.000010)
      NOTICE:  Hyperparameter batch_size takes value DEFAULT (10)
      NOTICE:  Hyperparameter num_features takes value DEFAULT (2)
      NOTICE:  Hyperparameter distance_function takes value DEFAULT (L2_Squared)
      NOTICE:  Hyperparameter seeding_function takes value DEFAULT (Random++)
      NOTICE:  Hyperparameter verbose takes value DEFAULT (0)
      NOTICE:  Hyperparameter seed takes value DEFAULT (0)
      MODEL CREATED. PROCESSED 1
      

      上述命令中:

      • “CREATE MODEL”语句用于模型的训练和保存。

      • USING关键字指定算法名称。

      • FEATURES用于指定训练模模型的特征,需根据训练数据表的列名添加。

      • TARGET指定模型的训练目标,它可以是训练所需数据表的列名,也可以是一个表达式,例如: price > 10000。

      • WITH用于指定训练模型时的超参数。当超参未被用户进行设置的时候,框架会使用默认数值。

        针对不同的算子,框架支持不同的超参组合:

        表 2 算子支持的超参

        算子

        超参

        GD

        (logistic_regression、linear_regression、svm_classification)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值