💡 distplot
- 연속된 수치형 데이터가 아닌 히스토그램을 보기 위한 함수
- 도수분포표로 그래프를 나타낸 것이다. (도수 = frequency)
- 확률밀도함수도 함께 표현한 것이다. (부드럽게 값을 표현함)
- 결측치(null값)가 있으면 distplot을 그릴 수 없다.
- 시리즈 형태로 반환해야 distplot을 가져올 수 있다.
Fare
f, ax = plt.subplots(1,1,figsize=(8,8))
g =sns.distplot(df_train['Fare'], color='b', label='Skewness: {:.2f}'.format(df_train['Fare'].skew()), ax=ax)
g =g.legend(loc='best') # g는 matplotlib객체
Skewness = 왜도값 알아보기 = 히스토그램이 얼마나 치우쳤냐 => df[' '].skew()
일반적으로 왜도의 기준은 "0", 첨도의 기준은 "3"의 값을 띄고 있으면 완전한 정규분포가 된다.
a=0 정규분포, a>0(양수)은 좌측으로 치우침, a<0 (음수)은 우측으로 치우침
Skewness가 5로써 좌측으로 많이 치우친 상황.
이를 우리가 그대로 모델에 넣어준다면, 자칫 모델이 잘못 학습하여 성능이 낮아질 수 있다.
1. 왜도 (Skewness) : 왜도라는 표현이 생소할 수 있기에 비대칭도라고 받아들이는게 쉬울 수도 있다. 데이터가 얼마나 비대칭적인지를 나타내며 왜도의 절대값이 클수록 데이터의 비대칭성이 크다. (왜도는 양의 값과 음의 값 모두 존재 가능, 양과 음의 기준은 아래에 그림을 참고)
쉽게 말해 절대값을 씌웠을 때 왜도의 값이 크면 → 비대칭성도 크다
2. 첨도 (Kurtosis) : 위키에 적힌 대로는 확률 분포의 꼬리가 두꺼운 정도를 나타내는 척도인데, 쉽게 풀어 설명하면 데이터에 이상치가 많은 정도라고 생각하면 된다. 첨도가 클수록 데이터 내에 이상치가 많다. (첨도 값의 범위에 따라 mesokurtic, leptokurtic, platykurtic으로 분류되는데 값이 클수록 이상치가 많다는 정도만 알아둬도 충분할 것 같다.)
결론적으로, log를 씌우게 되면 왜도와 첨도는 낮아지게 된다. 즉 비대칭적이고, 이상치가 많은 데이터의 경우 log를 씌우면 좀 더 다루기 쉬워진다고 생각하면 될 것 같다.
예를 들어, 첨도가 35라고 하면, 첨도는 중심이 굉장히 뾰족한 분포의 모습을 의미한다.
이것은 표준편차가 아주 작다고 생각할 수 있다.
뾰족하다는 것은 결국, 거의 대부분의 data가 평균 근처에 밀집되어 있다는 것을 의미한다.
[출처] Python (3) : 왜도와 첨도 (Skewness and kurtosis)|작성자 영쮤이: https://blog.naver.com/ylee136/222934274103
Python (3) : 왜도와 첨도 (Skewness and kurtosis)
각종 데이터 및 수를 다루다 보면 변수에 log를 취하는 경우를 심심치 않게 볼 수 있다. 오늘은 왜 변수에 ...
blog.naver.com
💡 fare에 log를 취해줘서 Skewness를 줄여주는 작업
df_train['Fare'] = df_train['Fare'].map(lambda i : np.log(i) if i>0 else 0)
f, ax = plt.subplots(1,1,figsize=(8,8))
g =sns.distplot(df_train['Fare'], color='b', label='Skewness: {:.2f}'.format(df_train['Fare'].skew()), ax=ax)
g =g.legend(loc='best')
'Study > kaggle' 카테고리의 다른 글
캐글 타이타닉 Titanic - 10. Feature engineering - Fill Null in Embarked and categorize Age (0) | 2023.03.18 |
---|---|
캐글 타이타닉 Titanic - 9. Feature engineering - Fill Null in Age (0) | 2023.03.16 |
캐글 타이타닉 Titanic - 7. EDA - FamilySize (0) | 2023.03.12 |
캐글 타이타닉 Titanic - 6. EDA - Embarked (0) | 2023.03.11 |
캐글 타이타닉 Titanic - 5. Age, Sex, Pclass (violinplot) (0) | 2023.03.11 |