Реализация Adaboost для нескольких измерений в Java - PullRequest
1 голос
/ 09 января 2012

Я работаю над реализацией AdaBoost на Java.Он должен работать для «двойных» координат на 2D 3D или 10D.Все, что я нашел для Java, это для двоичных данных (0,1), а не для многомерного пространства.

В настоящее время я ищу способ представления измерений и инициализации классификаторов для повышения.

Я ищу предложения о том, как представить многомерное пространство в Java и как инициализировать классификаторы для начала.

Данные - что-то среднее между [-15, + 15],И целевые значения 1 или 2.

Ответы [ 3 ]

1 голос
/ 10 января 2012

Как насчет использования JBoost , я думаю, он получил то, что вы ищете.

1 голос
/ 09 января 2012

Чтобы использовать расширенное дерево решений для пространственных данных, типичным подходом является попытка найти «точку разделения» на некоторой оси, которая минимизирует остаточную информацию в двух поддеревьях. Чтобы сделать это, вы найдете некоторое значение вдоль некоторой оси (скажем, оси x), а затем разделите точки данных на две группы - одну группу точек, координата x которых находится ниже этой точки разделения, и одну группу точек, координата x которых равна выше этой точки разделения. Таким образом, вы преобразуете реальные пространственные данные в данные 0/1 - значения 0 - это значения ниже точки разделения, а значения 1 - значения выше точки разделения. Алгоритм, таким образом, идентичен AdaBoost, за исключением того, что при выборе оси, на которую нужно разделить, вы также должны учитывать потенциальные точки разделения.

0 голосов
/ 09 января 2012

Почему вы не используете массив double[] для каждого объекта? Это обычный способ представления векторов объектов в Java.

...