SemDB 示例教程
模型:排序模型

排序模型以一个幕景内的场景表格为基础,并接受一个额外的训练数据表格作为数据源。 通过训练,系统将生成一个模型来对数据进行排序。 本教程介绍如何创建排序模型。

排序模型可以接受两种不同类型的输入:(一)对场景表格内的若干数据行进行排序参考值的标注; (二)提供若干数据行之间的排序关系。 此外,模型可以提供两种不同的输出:排序百分比以及预测的排序参考值。

在这一教程中,我们接续 《数据操作基础教程(一)》 , 从一个已经完成数据导入的快照开始操作,如下所示。

点击左侧导航栏第四个按钮,进入幕景编辑页面,然后进入场景表格栏。

点击加号按钮,创建新的场景表格,填写名称并选择相应的模板。

选择A、B、C三个列,并将这三个列标注为数值类型,并添加两个附加属性 MyPercent 和 MyValue,最后注意保存。

切换到模型栏,点击加号按钮打开创建模型窗口。填写模型名称,模型类型以及所挂靠的场景表格。

提交后,打开模型输入属性栏,点击添加路径文字右侧的加号按钮,然后在新出现的路径上选择A、B、C作为模型输入。

打开模型输出属性栏,选择 MyPercent 作为输出。

最后打开排序模型设置栏,选择基础模型类型和模型输出类型,完成后注意保存。

依照同样的步骤,我们再创建另一个模型,其他设置相同但以 MyValue 为输出并选择预测值为输出类型。

接下来,我们需要为模型设置训练数据。我们需要一个单独的表格,其中包含两个数据列 oid 和 value, 分别存储数据点的序号和对应的排序基准参考值。一般而言,这个数据源表格的内容需要手动填写, 但在本教程中我们为方便起见采用视图功能生成一个数据源。 点击左侧导航栏第三个按钮进入表格变换页面,创建一个视图,如下所示。

{
  "select": ["_oid AS oid", "A + B + C AS value"],
  "from": ["Dir.Data"]
}

通过创建上面的视图,我们为每个数据点都提供了一个 “手动标注” 的排序基准。系统内部通过 oid 列来找到标注对应的数据点, 然后再利用有标注的训练数据来训练排序模型。所训练的模型会试图寻找能够将数据点按照给定的排序基准进行排序的规则。

回到幕景编辑页面,切换到数据源栏,为场景表格和两个模型设置数据源,然后保存。

然后对幕景进行部署,然后起一个名字。

接下来,点击导航栏第五个按钮,进入幕景监测页面。选择 Stage 幕景,然后切换到模型栏, 分别选择 MyModel 和 MyModelB 并点击右上侧第二个烧瓶图标对模型进行训练。

点击右上侧第三个写入数据库图标,将模型预测值写入数据库表格中。然后切换回表格监测页面, 可以看到出现了一个自动创建的 _MyData 表格,其包含名为 oid、MyPercent 和 MyValue 的三列。

在我们之前的设置中 MyPercent 保存了 MyModel 的输出,而 MyValue 则保存了 MyModelB 的输出。 可以看到 MyPercent 为 0 到 1 之间的数,表示对应数据点在全部数据点中的排序位置。 MyValue 的取值范围则和训练数据的范围一致,为将排序模型作为回归模型使用的结果。

© 2025