|
Нечеткое группирование чисел
|
|||
---|---|---|---|
#18+
Есть некие изменения, значения которых гнездятся с небольшими отклонениями около неких узловых значений. Узловые значения заранее неизвестны. Есть ли способ сгруппировать эти изменения? Из данных, приведённых ниже, должно получиться 3 группы. Заранее спасибо откликнувшимся. Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2021, 19:30 |
|
Нечеткое группирование чисел
|
|||
---|---|---|---|
#18+
Задача кластеризации на SQL? боюсь, решение будет далеко от оптимальности... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2021, 20:43 |
|
Нечеткое группирование чисел
|
|||
---|---|---|---|
#18+
Alexander Us, пронумеруйте группы по 4 числа (от 1 до 3), вы ведь такой алгоритм хотели? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2021, 20:50 |
|
Нечеткое группирование чисел
|
|||
---|---|---|---|
#18+
Критик, Нет, это просто пример. В группе может быть разное/случайное количество значений. Значения групп рапположены довольно кучно. Т.е. расстояние между группами значительно больше расстояний между значениями в группе. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2021, 21:52 |
|
Нечеткое группирование чисел
|
|||
---|---|---|---|
#18+
Akina ... Задача кластеризации на SQL? ... Т.е. это называется кластеризацией? Спасибо, загуглю. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2021, 21:54 |
|
Нечеткое группирование чисел
|
|||
---|---|---|---|
#18+
Alexander Us, Заодно погуглите, что такое дерево Селко (Celko tree). Не уверен, что это будет иметь хорошую производительность, просто первое что пришло в голову. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 09:25 |
|
Нечеткое группирование чисел
|
|||
---|---|---|---|
#18+
а если так? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 12:56 |
|
Нечеткое группирование чисел
|
|||
---|---|---|---|
#18+
Ennor Tiegael, спасибо, почитаю spenov, Спасибо, иммено так и сделал - через размер окрестности. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 13:35 |
|
Нечеткое группирование чисел
|
|||
---|---|---|---|
#18+
Попробовал составить запрос с автоматическим определением "зазора" между группами, в предположении, что в данных нет "одиноко стоящих деревьев". Вот fiddle . сам запрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40.
Там в общем все шаги более-менее описаны. Для корректной работы необходимо в набор данных добавить запись со значением, заведомо больше максимального значения (я добавил 1000, прямо в таблицу). Оптимизации, конечно, никакой. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 16:12 |
|
Нечеткое группирование чисел
|
|||
---|---|---|---|
#18+
Akina, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 18:48 |
|
Нечеткое группирование чисел
|
|||
---|---|---|---|
#18+
Alexander Us, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
PS Кривовато, границу не в тот набор пишет. Доработать не сложно, на LAG изменить. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 19:09 |
|
Нечеткое группирование чисел
|
|||
---|---|---|---|
#18+
Я бы написал функцию, возвращающую некий номер "кластера" (алгоритм попадания в кластер - на усмотрение афтара) и поставил эту ф-цию в group by. Быстро не будет, но вполне гибко и работоспособно. И просто. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 19:41 |
|
|
start [/forum/topic.php?fid=46&msg=40038804&tid=1685166]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
166ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 324ms |
total: | 597ms |
0 / 0 |