xgboost에서 approximate split finding algorithm이 헷갈립니다. 1,2번 중 어느 설명이 맞는것인가요? xgboost 논문의 알고리즘을 보면 2번이 더 맞는 것 같은데 설명에서는 1번이 더 맞는것 같아 질문드립니다. 1. 데이터를 20%, 40%, 60%, 80%, 100% 기준으로 구간(block)으로 나누고, 각 구간에 대해 독립적으로 최적의 split point와 gain을 계산한다. 2. 데이터를 20%, 40%, 60%, 80%, 100% 기준으로 구간(block)으로 나누고, 해당 구간을 나누는 값 4개를 candidate split point로 두어 gain 값이 가장 큰 point를 best split point로 선정한다.
데이터: 모든 데이터를 봄. 병렬로 가능해서 아주 빠르고 모든 데이터를 본다는 것이 장점. 1 누락의 가능성 2 분리된 데이터일 경우 불가능 Approximation 1 분할, 트리 단위가 아닌 버켓 단위 2 구분해놓고 따로 split point 3 letf child / right child 모드로 나누고 4 같은 10개로 다시 분류 5 split 해도 개수 똑같다는 장점 결측치 효율적으로 처리 Missing value가 있는 건 바로 tree 단계 split으로 보내버림 혹은 left child로 전부 보내버림(0이니까) 아니면 전부 p ~p형식으로 만듦 트리의 병렬화
xgboost에서 approximate split finding algorithm이 헷갈립니다. 1,2번 중 어느 설명이 맞는것인가요? xgboost 논문의 알고리즘을 보면 2번이 더 맞는 것 같은데 설명에서는 1번이 더 맞는것 같아 질문드립니다.
1. 데이터를 20%, 40%, 60%, 80%, 100% 기준으로 구간(block)으로 나누고, 각 구간에 대해 독립적으로 최적의 split point와 gain을 계산한다.
2. 데이터를 20%, 40%, 60%, 80%, 100% 기준으로 구간(block)으로 나누고, 해당 구간을 나누는 값 4개를 candidate split point로 두어 gain 값이 가장 큰 point를 best split point로 선정한다.
쵝5의 강의입니다 감사합니다 :). @26:13 에서 나온 sorting 방법, data storing 방법이 어떻게 병렬처리를 가능하게 하는건가요?
데이터: 모든 데이터를 봄. 병렬로 가능해서 아주 빠르고 모든 데이터를 본다는 것이 장점.
1 누락의 가능성
2 분리된 데이터일 경우 불가능
Approximation
1 분할, 트리 단위가 아닌 버켓 단위
2 구분해놓고 따로 split point
3 letf child / right child 모드로 나누고
4 같은 10개로 다시 분류
5 split 해도 개수 똑같다는 장점
결측치 효율적으로 처리
Missing value가 있는 건 바로 tree 단계 split으로 보내버림
혹은 left child로 전부 보내버림(0이니까)
아니면 전부 p ~p형식으로 만듦
트리의 병렬화
와 이건 정말 대단한 강의임 와 감탄
유익한 내용 쉽게 설명해 주셔서 감사합니다.
강의 올려주셔서 감사합니다~~!
훌륭한 강의 감사합니다 :)
멋진 강의 공유해주셔서 감사합니다. (--)(__)