Нечеткая логика поиска - PullRequest
       6

Нечеткая логика поиска

0 голосов
/ 06 ноября 2018

The table

Здравствуйте, согласно приложенному изображению, мы пытаемся обновить таблицу почтовых индексов Великобритании с 1,7 миллионами строк страховыми рисками. Существует несколько тысяч новых почтовых индексов без groupNumber, и они отображаются как NULL. Хотите заменить NULL на значение из почтового индекса в строке выше. Поверьте, мы должны использовать какую-то нечеткую логику, но нужна помощь, пожалуйста. Спасибо

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Нечеткая логика о написании правил на структурированном английском языке. Эти правила могут быть понятны человеку и машине одновременно и легко подстраиваются под дальнейшие требования. Правило замены почтового индекса NULL можно записать в Forth:

OrigPostcode NULL = IF
  row_above OrigPostcode
  row_above groupnumber
THEN

Термин «row_above» является лингвистической переменной. И выше означает, что индекс i-1 с 0,9 принадлежностью.

Вместо того, чтобы формулировать правило вручную, также можно использовать технику, которая называется «Обучение на демонстрации» Это означает, что оператор-человек сначала выполняет задачу копирования и вставки, и система распознает правило автономно. Обычно это делается с помощью нейронных сетей и описывается в журналах открытого доступа, свободно доступных в Интернете, предоставляемых хищными издательскими группами.

0 голосов
/ 06 ноября 2018

В запросе вы можете сделать:

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

Не ясно, хотите ли вы на самом деле изменить данные или просто вернуть значения в запросе.

...