EDA + Feature Engineering01
Survived
- 생존자의 현황 다시 파악
한 열씩 검토해 보겠습니다.
Survived - Key: (0 - Not Survived, 1- Survived)
Survived는 숫자로 값을 주지만 Categorical Variable인 셈입니다.
죽던지 살던지 둘 중 하나의 값을 줍니다.
countplot을 그려 봅니다.
사이즈는 가로 10인치 세로 2인치
생존 여부 0과 1의 숫자를 세어 본 후 그림을 그리도록 명령을 하는 것입니다.
pyplot(plt)의 figure라는 메소드를 써서 그림판의 크기를 정하고, seaborn의 카운트플롯을 그리라는 것입니다.
fig = plt.figure(figsize=(10,2))
sns.countplot(y='Survived', data=train)
print(train.Survived.value_counts())
-
불행히도 사망자가 훨씬 많아 보입니다.
-
전체 사망자 비율을 좀 보겠습니다.
-
파이그래프랑 카운트 플롯을 서브플롯으로 그립니다.
-
행은 하나 열은 2개의 서브 플롯입니다. 사이즈는 가로 15인치 세로 6인치
-
'Survived'의 값을 카운트해서 파이플롯을 만듭니다.
-
explode는 폭발하는 것이니까 1이면 튀어 나가는 것인데 0을 주면 분리만 되고 돌출은 되지 않습니다. 이어서 0, 1인 것은 첫 번째 것은 아니고 두번 째 것은 분리된다는 의미로 생각하시면 됩니다.
-
autopercent는 1.1이 표현하는 부분은 소수점 한 자리까지 보여 주라는 의미입니다. 뒤에 점 이하가 4면 둘 다 소수점 4자리수 까지 보여 줍니다.
-
ax[0]은 첫번째 칸입니다.
-
set_title 메소드는 서브 플롯의 제목을 보여 줍니다.
f,ax=plt.subplots(1, 2, figsize=(15, 6))
train['Survived'].value_counts().plot.pie(explode=[0, 0.1], autopct='%1.1f%%', ax=ax[0], shadow=True)
ax[0].set_title('Survived')
ax[0].set_ylabel('')
sns.countplot('Survived',data=train, ax=ax[1])
ax[1].set_title('Survived')
plt.show()
Pclass EDA
- 선상 등급의 현황 파악
"Pclass" 분석
Pclass는 값이 숫자이나 서열이 정해진 Ordinal Feature이다.
Key:1 = 1st, 2= 2nd, 3 = 3rd
각 클래스 당 생존자를 보겠습니다.
-
groupby 메소드
- train.groupby 그룹을 지어서 통계를 내라
- train.groupby(['Pclass','Survived'])선실등급과 생존율을 묶어라
- train.groupby(['Pclass','Survived'])['Survived'].count() 트레인 셋에서 선실 별 0 과 1의 숫자 세어보라
train.groupby(['Pclass','Survived'])['Survived'].count()
![](https://media.vlpt.us/images/qsdcfd/post/7fc0fb56-a6e7-4944-ad94-93e728942b96/image.png)
- train.groupby(['Survivied','Pclass'])['Pclass'].count()
<br>
- crosstab 메소드
pd.crosstab(train.Pclass, train.Survived, margins=True).style.background_gradient(cmap='summer_r')
![](https://media.vlpt.us/images/qsdcfd/post/5771d110-5278-4691-ad1e-ebc083d5e2ae/image.png)
<br>
- 총 정리
f, ax = plt.subplots(1, 2, figsize=(12, 6))
train[['Pclass','Survived']].groupby(['Pclass']).mean().plot.bar(ax=ax[0])
ax[0].set_title('Survived per Pcalss')
sns.countplot('Pclass', hue='Survived', data=train, ax=ax[1])
ax[1].set_title('Pcalss Survived vs Not Survived')
plt.show()
![](https://media.vlpt.us/images/qsdcfd/post/6f81048c-a572-4d5b-a20f-3cb0e0448367/image.png)
![](https://media.vlpt.us/images/qsdcfd/post/d7ac2647-e807-42d4-a17d-515e16463254/image.png)
<br>
#### Name EDA + Feature Engineering
- EDA뿐만아니라 약간의 피쳐엔지니어링까지 경험
<br>
#### SEX EDA + Feature Engineering
- Sex에 대해 EDA에 살짝의 변형을 가진 작은 피쳐 엔지니어링 시도
Author And Source
이 문제에 관하여(EDA + Feature Engineering01), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@qsdcfd/EDA-Feature-Engineering01저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)