Java log함수에 대해서

열심히 Decision Tree를 만들고저 ID3알고리즘 구현에 여념이 없을때.
엔트로피를 구하고저 java.math 패키지를 열심히 뒤지고 있는데

맙소사 log함수가 밑이 2인것이 없던것이였다. (순간 당황했다.)
엥. Python에서도 밑이2인 로그함수가 있는데 자바가 없다니.. <-- 바로 이런 이유 때문에.. 당황했음 당황한 나머지 궁리를 해봤다. 어떻게 밑이 2인 함수를 만들지..
그러던 찰라 옆에 있던 정석책을 살며시 집어들고 로그함수 부분을 봤다.

정석책에 이 공식이 나오더라

아하…

그래서 바로 메서드 구현에 들어갔다.
한줄짜리..메서드

public double log2(double d){
   return Math.log(d)/Math.log(2.0);
}

끝….

Decison Tree구하는데 별 어려움은 없었다.
다만 이래저래 Java의 특성을 살릴까 말까 하는 고민을 너무 많이해서 나중에 거의 손델 가능성이 없는 코드를 엄청 복잡하게 짜버렸다는….디자인 패턴 아는게 죄가 되버렸네.

0 0 votes
Article Rating
Subscribe
Notify of
guest

4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
v쭌쓰v

곰곰이님 화이팅~ -0-

곰곰이

v쭌쓰v 님 : 벌써 다 했답니다. Java가 예전보다 많이 빨라진게 느껴지던데… 아닌가 하드웨어가 좋아진건가? ㅡㅡ;

conv2

저도 오래전에 자바로 영상처리 API 구현시, 이 부분을 접하고 당황했던 적이 있었습니다. 벌써 리포트를 다하시다니… 대단합니다. ^^

곰곰이

conv2 님 : 3일동안 낑낑대고 오늘 새벽까지 레포트를 제출한 상태에서 이래저래 왜 그럴까 고민 많이 했습니다.
게다가 아침에 일어나자마자 교수님께 메일 보네고..

생각해보니까… 어떤 대상체에 대한 특징 벡터를 추출하는게 가장 관건일거 같다는 생각이 듭니다. id3 알고리즘이야.. 뭐 맞춰진 데이터에 구현을 하면 되는 문제니까요..