본문 바로가기

카테고리 없음

[패스트캠퍼스 수강 후기] 데이터분석 인강 100% 환급 챌린지 44회차 미션

06. ch 02. 분류 분석 - 01. Pokemon 데이터셋 탐색 - 07. ch 02. 분류 분석 - 02. 분류 분석과 로지스틱 회귀 모델 - 1


06. ch 02. 분류 분석 - 01. Pokemon 데이터셋 탐색

정답이 없는 경우. 비지도 학습.

2. EDA (Exploratory Data Analysis : 탐색적 데이터 분석)

2-1) 기본 정보 탐색

df.shape

df.info()

df.isnull().sum()

개별 피처 탐색

df['Legendary'].value_counts()

df['Generation'].value_counts()

df['Generation'].value_counts().sort_index().plot()

df['Type 1'].unique() 타입1에 무슨 타입 있는지

df['Type 2'].unique() 타입2에 무슨 타입 있는지

len(df[df['Type 2'].notnull()]['Type 2'].unique())
타입1, 2 합쳐서 총 몇개의 타입.

2-2) 데이터 특징 탐색

변수들의 분포 탐색

fig = plt.figure(figsize =(12, 12))
ax=fig.gca()
sns.boxplot(data=df[['HP', 'Attack', 'Defense', 'Sp. Atk', 'Sp. Def', 'Speed']], ax=ax)
plt.show()

레전더리 값이 1일 때
fig = plt.figure(figsize =(12, 12))
ax=fig.gca()
sns.boxplot(data=df[df['Legendary']==1][['HP', 'Attack', 'Defense', 'Sp. Atk', 'Sp. Def', 'Speed']], ax=ax)
plt.show()


df['Total'].hist(bins=50)

Legendary 그룹별 탐색

Type 1의 분포

df['Type 1'].value_counts(sort=False).sort_index().plot.barh()

Type 1 중에 레전더리가 1일 때
df[df['Legendary'] == 1]['Type 1'].value_counts(sort=False).sort_index().plot.barh()

Type 2의 분포

df['Type 2'].value_counts(sort=False).sort_index().plot.barh()

Type 2 중에 레전더리가 1일 때

df[df['Legendary'] == 1]['Type 2'].value_counts(sort=False).sort_index().plot.barh()

제너레이션
df['Generation'].value_counts(sort=False).sort_index().plot.barh()

레전더리가 1일 떄 제너레이션 분포
df[df['Legendary'] == 1]['Generation'].value_counts(sort=False).sort_index().plot.barh()


레전더리가 제너레이션에 따라 어떤 사이즈를 갖는지
groups = df[df['Legendary'] == 1].groupby('Generation').size()


포켓몬 능력 분포 탐색

세대별로 어떤 능력을 갖고 있는지

fig = plt.figure(figsize =(12, 12))
ax=fig.gca()
sns.boxplot(x = "Generation", y="Total", data=df, ax=ax)
plt.show()

타입에 따라 어떤 토탈값

fig = plt.figure(figsize =(12, 12))
ax=fig.gca()
sns.boxplot(x = "Type 1", y="Total", data=df, ax=ax)
plt.show()





07. ch 02. 분류 분석 - 02. 분류 분석과 로지스틱 회귀 모델 - 1


패스트캠퍼스 데이터분석 강의 링크
bit.ly/3imy2uN