模糊逻辑查找

时间:2018-11-06 15:22:26

标签: sql fuzzy-logic

The table

您好,根据所附图片,我们正在尝试使用保险风险组更新一张170万行的英国邮政编码表。有数千个没有groupNumber的新邮政编码,它们显示为NULL。要将NULL替换为上一行中邮政编码的值。 相信我们应该使用某种模糊逻辑,但是请提供一些帮助。 谢谢

2 个答案:

答案 0 :(得分:1)

在查询中,您可以执行以下操作:

select t.*, 
       coalesce(groupnumber, lag(groupnumber) over (order by new_postcode)) as new_groupnumber
from t;

不清楚是要实际更改数据还是只返回查询中的值。

答案 1 :(得分:0)

模糊逻辑是关于用结构化英语编写规则。这些规则可以被人和机器同时理解,并且可以很容易地调整以适应进一步的要求。可以在Forth中编写替换NULL邮政编码的规则:

OrigPostcode NULL = IF
  row_above OrigPostcode
  row_above groupnumber
THEN

术语“ row_above”是一个语言变量。而以上表示该索引为i-1,隶属度为0.9。

除了手动制定规则外,还可以使用一种名为“从演示中学习”的技术。这意味着操作员首先要执行复制和粘贴任务,系统将自动识别规则。这通常是通过神经网络完成的,并在掠夺性出版集团免费提供的互联网开放访问期刊中进行了描述。