Comments 6
Не помешало бы предоставить код: как собирали обучающую выборку, какие библиотеки использовали для обучения. Да и сами данные выложить, вдруг в вообществе кто-то сможет улучшить Ваши модели. Тем более, что неясено размер обучающей выборки, которую Вы использовали, есть подозрение, что он слишком мал.
Отбрасывание гребневой регресси в пользу kNN без предоставления метрик качества на out-of-sample выглядит как подгонка под данные.
В идеале Вашу работу бы развить в патч и позднее в ядро Postgres, чтобы она не пропала зря…
Анатолий, добрый день!
Эта статья была написана когда проект ещё только начинался. Сейчас идея выросла в статью с подробным описанием метода, ссылками на бенчмарки и более полным обоснованием выбранного метода машинного обучения. Вкратце, на наших бенчмарках метод ближайших соседей дает более хорошее приближение целевой функции при малом числе объектов в обучающей выборке. Для конкретной задачи это важно, поскольку получение новых объектов требует выполнения запроса, что может занимать очень много времени. Кроме того, в отличие от линейной регрессии, метод ближайших соседей не накладывает ограничение на вид восстанавливаемой функции.
Также есть готовый к использованию код и ряд выступлений на конференциях (Highload++ 2016, PgConf.RU 2017, PgCon 2017).
Я тоже надеюсь, что рано или поздно удастся включить имеющийся код в ядро. Однако пока что всем желающим использовать расширение нужно либо самостоятельно применить патч, либо использовать Postgres Pro Enterprise.
Применение машинного обучения для увеличения производительности PostgreSQL