Kaggle Competition - Binary Prediction of Poisonous Mushrooms (3) EDA 시각화분명 전산학부 졸업 했는데 코딩 개못하는 조준호/AI, ML, DL2024. 9. 2. 14:43
728x90
반응형
https://www.kaggle.com/code/satyaprakashshukl/mushroom-classification-analysis/notebook
cap-shape와 cap-color를 기준으로 그룹화하고 해당되는 데이터의 수를 feature_counts에 넣는다.
이후, px.sunburst 함수를 사용해서 시각화한다.
다음으로 sankey chart로 만들자. 데이터의 '흐름'을 볼 수 있다.
import plotly.graph_objects as go
flow_data = df_train1.groupby(['cap-shape', 'cap-color']).size().reset_index(name='count')
labels = list(pd.concat([flow_data['cap-shape'], flow_data['cap-color']]).unique())
label_map = {label: idx for idx, label in enumerate(labels)}
sources = flow_data['cap-shape'].map(label_map).tolist()
targets = flow_data['cap-color'].map(label_map).tolist()
values = flow_data['count'].tolist()
역시 cap-shape과 cap-color로 그룹을 나눈다. 이후 모든 쌍을 열거한 labels를 만든다.
fig = go.Figure(data=[go.Sankey(
node=dict(
pad=15,
thickness=20,
line=dict(color='black', width=0.5),
label=labels
),
link=dict(
source=sources,
target=targets,
value=values
)
)])
fig.update_layout(
title_text='Sankey Chart of Cap Shape to Cap Color Flow',
title_x=0.5,
width=1000,
height=600
)
fig.show()
딱히 큰 차이는 없다. 왼쪽이 cap-shape, 오른쪽이 cap-color이다. 그런데 b, p, o 이 세 친구들이 뜬금없이 가운데에 있는 걸 볼 수 있는데 이는 해당 알파벳이 양쪽 모두에 속하기 때문에 발생한 오류 아닌 오류(?)다. 사실 이렇게 둬도 해석할 수 있지만 확실히 하기 위해서는
flow_data['cap-shape'] = 'shape_' + flow_data['cap-shape']
flow_data['cap-color'] = 'color_' + flow_data['cap-color']
이런 식으로 접두사를 붙여줄 수 있다.
또 다른,,, 시각화가 있다.
비슷한 내용이므로 자세한 건 생략.
728x90
반응형
'분명 전산학부 졸업 했는데 코딩 개못하는 조준호 > AI, ML, DL' 카테고리의 다른 글
@팜팜이S :: 팜팜은행: 한국은행 총재 조준호
한국은행 들어갈 때까지만 합니다
조만간 티비에서 봅시다