Как классифицировать набор образцов через непрерывную функцию? - PullRequest
2 голосов
/ 07 августа 2011

Например, я получил ниже таблицу, которая является просто грубым распределением для 20 человек старше их возраста

возраст человека

  • 2 1
  • 5 5
  • 8 2
  • 10 3
  • 15 1
  • 16 2
  • 17 1
  • 20 4
  • 21 1

Затем, используя тот же набор данных, я мог бы построить еще одну "лучшую" таблицу.

возраст человека

  • 10- 8
  • 10s 7
  • 20+ 5

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

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

  • Не должно быть слишком много или слишком мало классов
  • Диапазоны классов не должны слишком сильно различаться.
  • Распределение должно быть достаточно плавным, то есть количество предметов, охватываемых каждым классом, не должно меняться слишком сильно.

Поскольку этот вопрос представляетСитуация, которая является достаточно общей, чтобы описать какие-то конкретные проблемы, некоторые сложные решения ее уже должны были быть.Но я не смог их найти.Кто-нибудь может дать некоторые предложения, пожалуйста?

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

1 Ответ

0 голосов
/ 29 октября 2011

Я бы сделал следующее:

Построить функцию оценки:

double goodness(double firstThreshold, double bucketWidth, int numBuckets)

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

...