지금은마라톤중

캐글 타이타닉 ( 4 ) 본문

Machine Learning/Kaggle

캐글 타이타닉 ( 4 )

달리는중 2022. 10. 9. 18:44

캐글 타이타닉 Titainic 7. EDA  - FamilySize

 

https://youtu.be/TjcAtKuzVrg

 

df_train['FamilySize']= df_train['SibSp']+df_train['Parch'] + 1

- pandas 시리즈끼리 사칙연산이 가능하다.

- +1은 자신을 의미한다. 

print('Maximum size of Family:', df_train['FamilySize'].max())
print('Minimum size of Family:', df_train['FamilySize'].min())

f, ax = plt.subplots(1,3,figsize=(40,10))
sns.countplot('FamilySize', data= df_train, ax=ax[0])
ax[0].set_title('(1) No. of Passenger Boarded', y=1.02)

sns.countplot('FamilySize',hue='Survived', data = df_train, ax=ax[1])
ax[1].set_title('(2) Survived countplot depending on FamilySize', y=1.02)

df_train[['FamilySize', 'Survived']].groupby(['FamilySize'], as_index=True).mean().sort_values(by='Survived', ascending=False).plot.bar(ax=ax[2])
ax[2].set_title('(3) Survived rate depending on FamilySize', y= 1.02)

plt.subplots_adjust(wspace=0.2, hspace=0.5)
plt.show()

해석: (1) 그래프를 보면 가족단위별로 탑승을 나타낸 것이다. (2)그래프는 가족 단위별 생존수를 나타낸 것이다. 1인단위가 인원이 많은 만큼 생존수랑 사망수도 많다. 생존율은 높은 편은 아니다. (3) 그래프에서 확인 할 수 있듯이 인원이 적거나 많다고 생존수가 커지는 연관성은 없으며, 3~4인 단위의 가족에서 생존율이 가장 높았다.

 


캐글 타이타닉 Titainic 8. EDA  - Fare, Cabin, Ticket

 

https://youtu.be/5QvHK5QiVXo

-skeness(왜도) : 기준은 0, 자료의 분포모양이 평균을 중심으로부터 한 쪽으로 치우쳐저 있는 경향을 나타내는 척도,
                            대칭인지 아닌지 측정해주는 값 (a=0 정규분포, a>0 좌측으로 편향, a<0 우측으로 편향)
- kurtosis(첨도) : 자료의 분포모습이 정규분포보다 더 중앙에 집중하는가를 나타내는 척도
fig, 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')

해석: 그래프의 왜도는 4.79로 0보다 크므로 좌측에 편향되어있을 것이고 그래프의 모양 역시 그러하다. 

 

lambda 함수 : 간단하게 한 줄로 표현 가능한 함수

lambda 매개변수 : 표현식
df_train['Fare']= df_train['Fare'].map(lambda i : np.log(i) if i > 0 else 0)

- 위 그래프를 통해 정규분포가 아닌 좌측으로 치우쳐져 있는 것을 보았다. 왜도를 없애기 위해 log를 취한다.

 

log를 취한 후 다시 그래프를 보았는데 다음과 같이 나왔다. 오류가 있는 것 같다. 어느 부분인지...

 


멘토님이 다시 찾아보라고 하셨다.

*라이브러리 종류
- numpy : 과학 계산을 위한 라이브러리, 행렬/배열 처리 및 연산, 난수생성을 할 수 있다. 
- pandas : 데이터 조작 및 분석을 위한 다양한 툴과 함께 제공되는 오픈 소스 라이브러리이다. 이 라이브러리의 도움으로 
SQL 데이터베이스, CSV, JSON파일 및 Excel과 같은 다양한 소스의 데이터를 읽을 수 있게 된다.
- matplotlib : 데이터를 시각화하는 라이브러리이다. 그래프와 플롯의 유형에는 오차 차트, 플롯, 히스토그램, 산점도, 막대 차트 등이 있다.
- seaborn : matplotlib를 기반으로 한 시각화 라이브러리이다. matplotlib보다 간단한 문법으로 다양한 그래프 표현가능하다.

 

'Machine Learning > Kaggle' 카테고리의 다른 글

캐글 타이타닉 ( 6 )  (1) 2022.11.23
캐글 타이타닉 (5)  (0) 2022.10.27
캐글 타이타닉 ( 3 )  (0) 2022.10.09
캐글 타이타닉 ( 2 )  (1) 2022.10.03
캐글 타이타닉 ( 1 )  (1) 2022.10.03
Comments