728x90
반응형
SMALL
https://www.kaggle.com/competitions/titanic/data?select=train.csv
Titanic - Machine Learning from Disaster | Kaggle
www.kaggle.com
위 데이터를 받아서 파이썬으로 데이터 시각화를 해보겠습니다.
Kaggle에서 데이터셋 가져오기
데이터 결측치 시각화
다운로드 받은 3개의 파일을 이용해서 활용해 보곘습니다.
그리고 같은 폴더에 "ex1.py" 이렇게 파이썬 소스를 생성했습니다.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import seaborn as sbn
train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')
print(train.head())
print(test.head())
대강 확인하니 정보들이 모두 나오는 것을확인 할 수 있습니다.
모델 시각화
모델 훈련 및 모델검증
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import seaborn as sbn
def drawChart(dataset, feature):
Survived = dataset[dataset['Survived'] == 1][feature].value_counts()
NSurvived = dataset[dataset['Survived'] == 0][feature].value_counts()
df = pd.DataFrame([Survived, NSurvived])
df.index = ['Survived','dead']
df.plot(kind='bar', stacked=True)
train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')
plt.style.use('ggplot')
sbn.set()
sbn.set_palette("Set2")
1. 1~3등석별 생존자
drawChart(train, 'Pclass')
plt.title("seat")
plt.show()
2. 성별 생존자
#성별 생존자
drawChart(train, 'Sex')
plt.title("sex")
plt.show()
3. 가족수 별 생존자.
tmp=train[(train['SibSp']>=3)] #가족수가 3명 이상인사람의 생존자
drawChart(tmp,'SibSp')
plt.title("family")
plt.show()
데이터 결측치 시각화
seaborn을 통해 결측치 시각화
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import seaborn as sbn
def drawChart(dataset, feature):
Survived = dataset[dataset['Survived'] == 1][feature].value_counts()
NSurvived = dataset[dataset['Survived'] == 0][feature].value_counts()
df = pd.DataFrame([Survived, NSurvived])
df.index = ['Survived','dead']
df.plot(kind='bar', stacked=True)
train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')
sbn.heatmap(train.isnull(),cbar=True)
plt.show()
데이터가 null 인경우에 히트맵을 채워보아라 라는 의미의 소스이다.
아래 그림을 보면 age부분의 하얀색부분이 결측치이다.
그리고 cabin의 경우는 결측치가 굉장히 많다는 것을 알 수 있다.
missingno 를 이용한 데이터 결측치 시각화
1. 매트릭스를 이용해서 시각화
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import missingno as msno
train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')
msno.matrix(train)
plt.show()
2. 바 차트로 보기
3. 히트맵으로 보기
히트맵은 -1~1까지 에서 -1과 가까울수록 연관성이 적은 그래프이다.
그러나 현재 타이타닉에 대한 컬럼들은 모두 독립적인 변수여서 히트맵이 그렇게 유용하지 않다.
4. 댄드로그램
댄드로그램은 계층형 클러스터링 알고리즘을 사용한다.
@ 계층, #계층 클러스터링을 하여 보여주는 것이다.
0에 가까울 수록 결측치가 적다고 볼 수 있다.
728x90
반응형
LIST
'인공지능 > 머신러닝' 카테고리의 다른 글
9. 머신러닝 처리 - 사이킷 런을 통한 머신러닝 (유용한 라이브러리-1) (0) | 2023.10.05 |
---|---|
6. 딥러닝을 위한 프레임 워크 - 파이토치(PyTorch) (0) | 2023.09.19 |
5. 데이터 시각화를 위한 matplotlib (0) | 2023.09.19 |
3. 머신러닝을 위한 판다스(Pandas) (0) | 2023.09.05 |
2. 머신러닝을 위한 넘파이(NumPy) (0) | 2023.09.05 |
댓글