본문 바로가기

데이터는 내손바닥 안에 있으면 좋겠다

(11)
11. Feature Engineering - Change String to Numerical 11. Feature Engineering - Change String to Numerical 우리가 만든 Initial feature와 같이 string으로 이루어진 건, 학습시킬때 좋지않다. 고유의 숫자값으로 변환해서 적용시켜줘야 한다! 우선, 각 feature에 어떠한 특수한 값이 있는지 (정말 어떤 값으로 이루어져 있는지)를 구할때는 unique()를 통해서 구할 수 있다. 혹은, value_counts()로 각 항목이 몇개 있는지 까지 알 수 있다. Initial df_train.initial.unique() initial의 feature에는 다음과 같은 값으로 이루어져있는 것을 확인할 수 있다. 데이터를 바꿔주는 방법은 직접 하나하나 대입해주는 하드코딩, map을 이용해서 한번에 바꿔주는 방법..
10. Feature Engineering - Embarked & Function 사용하기 Embarked 채우기 df_train['Embarked'].isnull().sum() Embarked 항목의 빈 데이터 개수는 2개뿐이다. 이럴땐 최대 빈출값을 적용시키는 것이 편하다. 우리는 EDA를 통해서 'S'가 최대 빈출 값임을 도출해냈다. 그리고, 빈 데이터의 위치를 직접 찾아낼 필요없이 pandas에서 제공하는 기능을 사용하자 fillna df_train['Embarked'].fillna('S',inplace=True) fillna는 결측값을 채워주는 함수이다. inplace=True를 해줘야 실제 적용이 된다. 그리고, 다시 isnull의 합이 0임을 통해, 모든 데이터가 채워졌음을 알 수 있다. Function으로 Feature e..
09 - Feature Engineering - Fill Age Null data 09 - Feature Engineering - Fill Age Null data 호오,,진짜 배운거? 신기한게 많았다 이제 EDA를 끝내고 예측 모델 생성을 들어간다. 진짜 오래걸렸다 농땡이 피우는 성격 + 쌒희 + 취준 겹치면서 아몰랑~~ 하면서 너무 질질 끌어버렸당 데헷,,, 이거 이번주에 끝내고 복습하고 DACON 반도체 박막 데이터 분석혼자 해봐야겠다... :pray: https://kaggle-kr.tistory.com/18?category=868316 다시한번 최고의 강의에 감사드리며,, Fill Null using title 우선, null data를 채워야 한다. 이 채우는 과정에서도 통계적 수치를 이용해서 채워주어야한다. 이 값을 어떻게 채우냐에 따라서 우리가 만드는 모델의 성능이 크게..
08. EDA - Fare 흠냐리^^^,,, 백만년만의 타이나틱,, 사실 코딩도 해본지 거의 한 달이 넘은듯,,!!! ^ㅠ^,,,이노 면접보고 아주 뒤숭숭해서 손에 잡히지가 않는다.. 빨리 결과 나왔으면 좋겠다. 이번주 + 다음주안에 타이타닉을 끝내고, 마지막 자기주도 PJT 데이에, 반도체 데이터 분석에 참가해보는 게 목표긴한데 흠냐뤼,,, 열정이 다 사라졌다,,, 내 열정 찾아조,, 본격적으로 EDA의 마지막이다! Fare, Cabin, Ticket의 영향을 파악해보는 것으로 각 항목별 생존율에 미치는 영향은 파악 끝! 1. Fare 0.1~ 부터 continous한 데이터이다. fig, ax =plt.subplots(1,1,figsize=(8,8)) g = sns.distplot(df_train['Fare'], color='..
07. EDA-FamilySize 이제,, EDA의 거의 마지막! FamilySize = SibSp+Parch로 이루어진 데이터를 우리가 추가해주는 것이다. SibSp = Siblings + spouse로 즉, 형제 자매 + 배우자 Parch = Parent + Children 으로 부모, 자식을 포함한다. 마지막으로 본인을 포함해야 하므로, 1을 더해준다! 1. FamilySize 컬럼 추가하기 df_train['FamilySize'] = df_train['SibSp'] + df_train['Parch'] + 1 최대 가족 크기, 최소 가족 크기 구하기 print('Maxium size of Fasmily:', df_train['FamilySize'].max()) ..
05.EDA-Embarked 05.EDA-Embarked 엥..모야...tistory바뀌었네? 백만년만의 타이타닉 ^6^,, 난 나태한 내자신에게 그래도 까먹지 않아서 다행이라고 칭찬해줘야겠다^^,, 들어가기 앞서서 이번 eda부터는 뭔가 이제 예전 분석들을 통해서, 우리으ㅣ 가설? 이 맞았던걸 확인할 수 있어어 매우 기뻤다! 1. Embarked 생존율 f,ax = plt.subplots(1,1,figsize=(7,7)) df_train[['Embarked','Survived']].groupby(['Embarked'],as_index=True).mean().sort_values(by='Survived',ascending=False).plot.bar(ax=ax) C가 가장 높..
04-2 EDA Age, Sex, Pclass 04-2 EDA Age, Sex, Pclass 3차원 data를 plot하는 것은 다양하지만 여기서 우리는 :violin: violin plot을 사용한다 x축에는 우리가 구분해서 보고싶어하는 case인 (Pclass, Sex)이고, 그에따른 나이 분포를 y축으로 설정하고 hue는 생존율로 주어준다. f,ax = plt.subplots(1,2,figsize=(18,8)) sns.violinplot('Pclass','Age', hue='Survived', data=df_train, scale='count', split=True, ax=ax[0]) ax[0].set_title('Pclass and Age vs Survived') ax[0..
04. EDA - Age 04. EDA - Age Age를 기준으로 생존율을 분석해보자. 탑승객 나이 분포 파악 print('제일 나이 많은 탑승객: {:.1f} years'.format(df_train['Age'].max())) print('제일 어린 탑승객: {:.1f} years'.format(df_train['Age'].min())) print('탑승객 평균 나이:{:.1f} years'.format(df_train['Age'].mean())) 제일 나이 많은 탑승객: 80.0 years 제일 어린 탑승객: 0.4 years 탑승객 평균 나이:29.7 years 생존 여부에 따른 Age histogram 나이 구간에 따라, 생존율(den..