타이타닉 EDA(Family,Fare,Cabin,Ticket)
-
Family - SibSp(형제 자매) + Parch(부모, 자녀)
-
SibSp와 Parch 합하면 Family
-
Family로 합쳐서 분석
-
FamilySize와 생존 관계
-
Figure(1): 가족의 크기가 1~11
-
대부분 1명 혹은 2~4명입니다.
-
Figure(2),(3): 가족의 크기에 따른 생존비교
-
가족이 4명인 경우 가장 생존확률이 높다
-
가족 수가 많아질수록 작다
-
즉, 3~4인이 가장 높다
-
-
Fare
-
탑승요금
-
contious feature
-
distribution 매우 비대칭
-
이상치에 대한 과민 반응으로 실체 예측 시 결과는 좋지 않을 것으로 예상됨
-
Fare columns의 log값 취하기
-
python 람다함수 이용(map, log를 편하기 넣기 가능)
-
log를 취한 비대칭성이 많이 사라짐
-
이런 작업을 통해 모델이 좀 더 좋은 성능을 비춤
-
feature engineering작업(모델 성능 향상)
-
-
Cabin
-
NaN이 약 80%
-
생존에 미치는 영향은 미미할 것
-
모델이 포함 안 시킵니다.
-
-
Ticket
-
NaN이 없다
-
string data이므로 어떤 작업을 통헤야 모델 적용 가능
-
아이디어 중요
-
ticket number이 다양하므로 어떤 특징을 뽑아내어 생존과 연결시켜야하는지 고려 필수
-
Family~SibSp(형제 자매) + Parch(부모, 자녀)
df_train['FamilySize'] = df_train['SibSp'] + df_train['Parch'] + 1 #자신을 포함
df_test['FamilySize'] = df_test['SibSp'] + df_test['Parch'] + 1 #자신 포함
print("Maximum size of Family: ", df_train['FamilySize'].max())
print("Minimum size of Family; ", df_train['FamilySize'].min())
f,ax = plt.subplots(1,3, figsize=(40,10))
sns.countplot('FamilySize', data = df_train, ax=ax[0])
ax[0].set_title('(1) No. Of Passengers Boarded', y= 1.02)
sns.countplot('FamilySize', hue='Survived', data=df_train, ax=ax[1])
ax[1].set_title('(2) Survived countplot dependings on FamilySize', y=1.02)
df_train[['FamilySize', 'Survived']].groupby(['FamilySize'], as_index=True).mean().sort_values(by='Survived', ascending=False).plot.bar(ax=ax[2])
ax[2].set_title(' (3) Survived rate depending on FamilySize', y=1.02)
plt.subplots_adjust(wspace=0.2, hspace=0.5)
plt.show()
Fare
fig, ax = plt.subplots(1, 1, figsize=(8,8))
g = sns.distplot(df_train['Fare'], color='b', label = 'Skewness : {:.2f}'.format(df_train['Fare'].skew()), ax=ax)
g = g.legend(loc='best')
df_test.loc[df_test.Fare.isnull(), 'Fare'] = df_test['Fare'].mean()
df_train['Fare'] = df_train['Fare'].map(lambda i: np.log(i) if i > 0 else 0)
df_test['Fare'] = df_test['Fare'].map(lambda i : np.log(i) if i > 0 else 0)
fig, ax = plt.subplots(1, 1, figsize=(8,8))
g = sns.distplot(df_train['Fare'], color='b', label='Skewness : {:.2f}'.format(df_train['Fare'].skew()), ax=ax)
g = g.legend(loc='best')
Cabin
df_train.head()
Ticket
df_train['Ticket'].value_counts()
Author And Source
이 문제에 관하여(타이타닉 EDA(Family,Fare,Cabin,Ticket)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@qsdcfd/타이타닉-EDAFamilyFareCabinTicket저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)