지금은마라톤중

캐글 타이타닉 ( 1 ) 본문

Machine Learning/Kaggle

캐글 타이타닉 ( 1 )

달리는중 2022. 10. 3. 14:08

공부 기록 블로그 시작!!

어떻게 쓰는건지 잘 모르겠다...

일기도 안 쓰고 기록이란걸 너무 오랜만에 해봐서..어떻게든 되겠지!!!

 

일단 go on

 

시작은 캐글 타이타닉 데이터로 

https://youtu.be/_iqz7tFhox0?list=PLC_wC_PMBL5MnqmgTLqDgu4tO8mrQakuF 

 

 

캐글 타이타닉 Titanic -1. Dataset check

import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt
import seaborn as sns

plt.style.use('seaborn')
sns.set(font_scale=2.5)

import missingno as msno

# ignore warnings
import warnings
warnings.filterwarnings('ignore')

%matplotlib inline

df_train = pd.read_csv('../input/titanic/train.csv')
df_test = pd.read_csv('../input/titanic/test.csv')

사용하는 lib

- numpy

-pandas: csv, exel 등 다양한 파일 읽을 수 있다.

-matplotlib

-seaborn

-missingno : 채워지지 않은 널 값을 쉽게 보여주는 lib

-warnings : ignore로 하여 경고가 뜨지 않게 한다.

 

시작전에 스타일과 폰트 사이즈를 지정해서 매번 지정하는 번거로움을 줄인다.

 

%matplotlib inline : 코드 아래에 바로 표현되게 하는 것

 

*sklearn : 머신러닝을 하는 lib

 

df_train.head : 데이터셋의 처음 부분을 출력 / 기본값 : 5개

df_train.describe() : 간단한 통계적 수치 알려준다.( 개수, 평균 등)

df_train.describe() 출력값

df_train[col].isnull().sum() : df_train 열에 널값의 합을 의미

 


msno.matrix(df=df_train.iloc[:,:], figsize=(8,8), color = (0.8,0.5,0.2))

matrix의 흰 부분은 널값을 의미

msno.bar(df=df_train.iloc[:,:], figsize=(8,8), color = (0.8,0.5,0.2))

matrix를 bar로 바꾸면 오른쪽 그림처럼 나온다.

 

 


캐글 타이타닉 Titanic - 2. EDA - Pclass

-EDA : 탐색적 데이터 분석

 

https://youtu.be/sDH2zr48gTE?list=PLC_wC_PMBL5MnqmgTLqDgu4tO8mrQakuF 

 

f, ax = plt.subplots(1,2,figsize=(18,8))

df_train['Survived'].value_counts().plot.pie(explode=[0,0.1], autopct='%1.1f%%', ax=ax[0], shadow=True)
ax[0].set_title('Pie plot - Survived')
ax[0].set_ylabel('')
sns.countplot('Survived', data=df_train, ax=ax[1])
ax[1].set_title('Count plot - Survived')
plt.show()

 

f, ax = plt.subplots(1,2,figsize=(18,8))

-> 도화지 그리는 것 (행, 열 , 사이즈(가로, 세로))

 

- explode : 쪼개는 것

- autopct : 퍼센트의 형식을 나타냄

- shadow : 그림자

 

df_train[['Pclass', 'Survived']].groupby(['Pclass'], as_index=True).count()

 

- Pclass로 묶어서 Survived의 갯수를 나타냄.

 

 

pd.crosstab(df_train['Pclass'], df_train['Survived'], margins= True).style.background_gradient(cmap='cool')

-crosstab

-margin : All의 유무를 나타냄

-style.background_gradient(cmap='cool') : 테마를 지정할 수 있다.

 

 

df_train[['Pclass', 'Survived']].groupby(['Pclass'], as_index=True).mean().sort_values(by='Survived', ascending=False).plot()
df_train[['Pclass', 'Survived']].groupby(['Pclass'], as_index=False).mean().sort_values(by='Survived', ascending=False).plot()

-  두 그래프는 as_index=True / False의 차이이다.

- as_index는 index로의 사용 여부를 결정한다.

- ascending : 오름차순을 의미

 

 

y_position = 1.02
f, ax = plt.subplots(1,2,figsize=(18,8))
df_train['Pclass'].value_counts().plot.bar(color=['#CD7F32','#FFDF00','#D3D3D3'], ax=ax[0])
ax[0].set_title('Number of passengers By Pclass', y=y_position)
ax[0].set_ylabel('Count')
sns.countplot('Pclass', hue='Survived', data=df_train, ax=ax[1])
ax[1].set_title('Pclass : Survived vs Dead', y=y_position)
plt.show()

 

-hue : 색깔로 구분시켜줄 때 사용

 

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

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