np.log1p()를 하는 이유

Smiling Sammy·2021년 12월 19일
0

Math

목록 보기
1/1
post-custom-banner

개요

문득 캐글이나 데이콘의 코드를 보면 로그 변환을 할 때,
np.log가 아닌 np.log1p를 사용하는 모습을 많이 봤다.
왜 그럴까?

로그 변환 이유

로그는 태생적으로 큰 값을 작게 표기하기 위해 고안된 방법이며, 측정단위를 키우는 것만으로는 해결하지 못한 부분을 해결해준다.
변수를 측정하는 단위가 매우 작아서 생기는 문제를 해결하면서 계수 해석에 설득력을 부여하고자 로그변환을 사용한다.

np.log1p를 하는 이유

np.log: ln(x)
np.log1p: ln(x+1)

기본적으로 log안의 x값은 아래 그래프처럼 양수만 가능하다.
하지만 0에 가까운 아주 작은 양수의 경우 (ex. 0.0000000001)
음의 무한대에 가까워지게 된다. (너무 작은 값의 경우 프로그램의 계산이 -inf가 나오게됨)
이를 방지하기 위해 1을 더함으로써 0보다 큰 양수의 값을 갖게 된다.

참고

profile
Data Scientist, Data Analyst
post-custom-banner

0개의 댓글