1

Java에서 AdaBoost 구현을 연구 중입니다. 2D 3D 또는 10D에서 "이중"좌표에 대한 작업이 있어야합니다. Java에서 발견 한 것은 다차원 데이터가 아닌 이진 데이터 (0,1)입니다.Java의 다중 차원을위한 Adaboost 구현

저는 현재 치수를 나타내고 부스트를 위해 분류 기준을 초기화하는 방법을 찾고 있습니다.

Java에서 다차원 공간을 나타내는 방법과 함께 분류자를 초기화하는 방법에 대한 제안을 찾고 있습니다.

데이터는 [-15, + 15] 사이의 값입니다. 그리고 목표 값은 1 또는 2입니다.

답변

1

공간 데이터에 대해 증가 된 의사 결정 트리를 사용하려면 일반적인 두 가지 하위 트리의 잔여 정보를 최소화하는 "축 분할 점"을 찾으십시오. 이렇게하려면 어떤 축 (예 : x 축)을 따라 값을 찾은 다음 데이터 포인트를 두 그룹으로 나눕니다. 하나의 그룹은 x 좌표가 분할 점 아래에 있고 하나의 그룹은 x 좌표가 그 분리 점 이상. 그런 식으로 실수 값 공간 데이터를 0/1 데이터로 변환합니다. 0 값은 분리 점 아래의 값이고 1 값은 분리 점 위에있는 값입니다. 따라서 알고리즘은 AdaBoost와 동일합니다. 단, 분할 할 축을 선택할 때 잠재적 인 분할 점도 고려해야합니다.

0

각 개체에 double[] 배열을 사용하지 않는 이유는 무엇입니까? 그것이 자바에서 피쳐 벡터를 표현하는 일반적인 방법입니다.

+0

나는 이것이 질문되는 질문이라고 생각하지 않는다. 나는 내부적으로 모든 것을 저장하는 방법보다는 실제 값을 가진 데이터에 AdaBoost를 사용하는 방법이 흥미 롭다고 생각한다. – templatetypedef

+0

바로! 나는 "double-type"으로 표현되는 "실제"데이터에 AdaBoost를 구현하려고합니다. –

1

어떨까요? JBoost을 사용하는 것은 어떨까요?

+0

제안 해 주셔서 감사합니다. 나는 그것을 실제로 발견하고 조금 놀려고했다. AdaBoost를 사용하고자하는 누군가에게 유용 할 수 있습니다. 첫 번째 의도는 직접 Adaboost를 구현하는 것이 었습니다. 많은 데이터 마이닝을 실행하고 사용할 수있는 큰 도움이 될 수있는 [Weka] (http://www.cs.waikato.ac.nz/ml/weka/)와 함께 제공되는 도구도 있습니다. 알고리즘이 있으며 소스 코드도 있습니다. –

+0

그래도 나는 그것을 얻지 못합니다. 당신이 발견 한 모든 것들은 "바이너리 데이터가 아닌 다차원 공간"을 위해 일한다고 말했고, JBoost는 그 중 하나에 국한되지 않기 때문에 ... 나는 네 질문에 대해 혼란 스럽네, 그럼? –

+0

혼란스러운 의도는 없습니다. 죄송합니다. 질문을 명확히하기 위해 : 기존 버전을 사용하는 것이 아니라 AdaBoost를 직접 구현하고 싶습니다. 그것은 내 프로젝트 중 하나의 일부였습니다. JBoost는 AdaBoost를 실행하기위한 참조 및 플랫폼으로 매우 유용 할 수 있습니다. –