Работа с деревьями решений - PullRequest
8 голосов
/ 13 февраля 2011

Я знаю tl; dr;

Я постараюсь объяснить мою проблему, не беспокоя вас тоннами дерьмового кода.Я работаю над школьным заданием.У нас есть фотографии смурфиков, и мы должны найти их с помощью анализа переднего плана.У меня есть дерево решений в Java, в котором есть все данные (гистограммы HSV) 1 один узел.Затем пытается найти лучший атрибут (из данных гистограммы) для разделения дерева.Затем выполняет разделение и создает левое и правое поддерево с данными, разделенными по обоим деревьям узлов.Все данные по-прежнему хранятся в главном дереве, чтобы можно было рассчитать индекс Джини.

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

Может кто-нибудь дать мне указательо том, как это сделать?

Некоторая дополнительная информация.Каждый объект дерева решений имеет объект Split, который имеет лучший атрибут для разделения, значение для разделения и индекс Джини.

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

1 Ответ

2 голосов
/ 13 февраля 2011

OK. В основном, в неоптимизированном псевдокоде: для маркировки пикселей на новом изображении:

Для каждого пикселя в новом изображении:

  • Рассчитать функции HSV пикселя
  • Рекурсивно, начиная с корня дерева:
  • Это лист? если это так, присвойте пикселю доминирующую метку узла.
  • В противном случае проверьте критерий разделения по признакам пикселя и перейдите к правому или левому потомку соответственно

Надеюсь, это имеет смысл в вашем контексте.

...