«Кластерный анализ» с MySQL

0

Это непросто. Вероятно, для этого есть имя, и я этого не знаю, поэтому я точно расскажу о проблеме.

У меня есть набор данных, включающий ряд пользовательских значений. Мне нужно определить на основе какой-то средней или лучшей "близости данных", значение которой является правильным значением. Например, если бы я получил следующие три заявки от трех пользователей, 4, 10, 3, я бы знал, что 3 или 4 будут "правильным" значением в этом случае. Если бы мне пришлось усреднить его, я бы получил 5.6, что не является предполагаемым результатом.

Я пытаюсь сделать это с помощью MySQL и PHP.

tl; dr Необходимо найти значение из набора данных на основе "близости" относительных значений (используя MySQL/PHP)

Спасибо!

  • 2
    Я считаю, что термин для этого типа анализа является «кластерный анализ».
  • 0
    Это звучит примерно так. Я только что обновил заголовок этого поста.
Показать ещё 4 комментария
Теги:
cluster-analysis

3 ответа

2

Кластеризация с использованием базы данных не будет единственным типом процедуры запроса. Для эффективного создания кластеров требуются итерации.

Сначала вам нужно решить, сколько кластеров вы хотите. Если бы вы хотели только один кластер, то, очевидно, все в него входило бы. Если вы хотите два, вы можете написать свою программу, чтобы разделить узлы на две группы, используя некоторую корреляционную метрику.

Другими словами, я не думаю, что это вопрос MySQL так же, как вопрос кластеризации.

1

Я думаю, что это то, что вы ищете:

SELECT id, MIN(ABS(id - (SELECT AVG(id) FROM table))) as min
FROM table
GROUP BY id
ORDER BY min
LIMIT 1;

Например, если ваш набор данных содержит следующие идентификаторы: 3, 4, 10, со средним значением 5.6667. Ближайшее значение 5.6667 равно 4. Если ваш набор данных равен 3, 6, 10, 14, в среднем 8,25, самое близкое значение - 10.

Это то, что возвращает этот запрос. Надеюсь, что это поможет.

0

У меня создается впечатление, что вы ищете медианный

например. в списке 1 2 3 4 100, медиана (центральное значение) равна 3.

Возможно, вы захотите найти https://stackoverflow.com/search?q=sql+median поиск медиана в SQL].

Ещё вопросы

Сообщество Overcoder
Наверх
Меню