XGBoost and LightGBM 질문입니다!
656
작성한 질문수 12
선생님 안녕하세요, 퀄리티 너무 좋은 수업 덕분에 하루하루 배우는 재미가 있네요. 이런 기회를 주셔서 정말 감사드립니다.
공부를 하다가 질문이 있어서 질문을 남겨요!
제가 적용하려는 데이터의 타겟값이 -1 or 1 인 상태입니다. 현재 logloss가 eval_metric이어서 그런지, 타겟값이 -1 or 1 인 상태로 넣으면 에러가 나와서, 첫 3줄의 코드를 통해서 타겟값이 -1 인 경우는 0으로 바꾸었더니 돌아갑니다.
여기서 궁금한게 생긴게,
1) validation-logloss 값이 음수가 나오더군요! (똑같은 데이터를 Dmatrix를 구해서 똑같이 XGBoost를 적용할 때는 그러지 않았는데 wrapper를 사용할때는 왜 음수가 나오기 시작하는지 조언을 주실 수 있을까요?) 또한, logloss 값 자체가 음수가 나올 수 없는게 아닌가 싶어서 좀 찾아보니, https://stackoverflow.com/questions/26282884/why-is-the-logloss-negative 에서 설명이 나와있던데, 이 설명으로서는 잘 이해가 안되네요.
2) 똑같은 데이터에 대해서 아래와 같이 LightGBM를 적용하려고 하였습니다. n_estimator = 1000 이고, early_stopping_rounds = 50 인데도 100번째 이터레이션 이후로 값들이 나오지 않더군요. 이럴때는 그냥 100번째 이터레이션이 optimal 한것인가요?



답변 1
1
안녕하십니까,
잘 듣고 계시다니, 저도 기분이 좋습니다. ^^
1) binary logloss를 적용하면 음수값이 잘 나오지 않습니다. binary logloss가 예측값에 log 값을 취하고 이를 평균으로 구한 뒤 -1 을 곱하는데 예측값이 0 ~ 1 사이로 되면 log가 음수값이 되고 여기에 -1을 곱하면 양수가 되는게 보통입니다.
제가 정확한 답변은 아닐수도 있는데 전반적으로 뭔가 꼬인 느낌입니다. 위의 소스 코드를 보면 y_tr은 replace가 -1에서 0으로 되었는데 y_val은 해당 코드가 보이지 않는군요. 다시 한번 확인 부탁드립니다.
2) 이건 뭔가 이상하군요. loss가 계속 줄고 있기 때문에 early stopping이 될 이유가 없습니다.
마찬가지로 y_val 값이 변환되었는지 확인 부탁드립니다.
감사합니다.
모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.
0
49
2
안녕하세요 열심히 수강중인 학생입니다
0
84
2
정수 인덱싱
0
85
2
넘파이 오류
0
107
2
11강 numpy의 axis 축 질문 드립니다.
0
106
2
Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.
0
90
2
Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.
0
75
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
82
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
73
2
5강 강의 오류가 있어요.
0
89
1
실무에서 LTV 관련 모델 선택 질문입니다!
0
78
2
14강 강의 듣는중에 궁금한게 있어서 질문합니다~
0
74
3
파이썬 다운그레이 후 사이킷런 재설치
0
126
2
좋은 강의 감사합니다.
0
78
2
scoring 함수 음수값
0
72
2
6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?
0
108
2
분류 평가 정확도 예측
0
87
2
안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.
0
113
1
카카오톡 채널 있나요
0
115
1
혹시 강의에서 사용하시는 ppt 받을 수 있는건가요
0
193
2
pca 스케일링 관련하여 질문드립니다.
0
108
2
주피터 대신 구글 코랩
0
182
2
강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?
0
152
2
실루엣 스코어..
0
91
2





