티스토리 뷰

Kaggle titanic project 판별해보기!

 

먼저 kaggle 사이트 들어가서 www.kaggle.com/c/titanic/ 가장 기본적인 titanic 데이터 다운받기

train 데이터에는 사람이 죽었는지 살았는지의 정보가 있고

test 데이터에는 사람이 죽었는지 살았는지 정보가 없음

 

즉, test 데이터의 사람이 죽었는지 살았는지 데이터를 분석해서 레이블링을 매겨서 csv로 뽑아내면 된다!

데이터 셋

기본적으로 모듈 import와 데이터를 읽어드립니다.

train_df.head(1), test_df.head(1) 을 해보면 train_df 에는 Survived 컬럼 즉 사람의 죽음 여부가 있고

test_df는 없네요.

PassengerId 가 유일한 컬럼값이므로 index를 매겨줍니다.

나중에 test 데이터의 index 값을 리턴시켜줍니다.

train과 test 데이터의 index를 저장시켜줍니다.

 

train 데이터의 Survived를 y_train_df에 저장 합니다.

 

Cabin에 결측지가 지금 높은데요. 지금은 그냥 제거..

 

전처리 해줄때는 train과 test 데이터를 똑같은 방식으로 전처리 하기

 

이름 정보와 티켓 정보 날리기

 

성별은 원 핫 인코딩으로 바꿔주고 Embarked가 어느 항구에서 출발했는지 인데 이것을 0,1,2로 바꿔주기 NaN 값은 99

 

Embarked를 99로 만들기

 

기존에 있던거와 merge 시켜줌

 

좌석 별로 나이의 평균값을 구해보기

1번일 경우 3.16 2번일 경우 29.51 3번일 경우 24.82 넣어주기

embarked_0, embarked_1, embarked_2, embarked_99 를 머지 시켜주기   

그러면 최종적으로 아래처럼 매트릭스 생성

 

이제 마지막으로 modeling을 해야하는데 이부분은 아직 배우진 않았지만 LogisticRegression 값을 집어넣고 돌려보면

예측을 합니다. 그다음에 예측한 값을 csv 형태로 만들기!

 

그래서 Kaggle에 올려보니 76%정도 정확도와 나의 순위가 나온다..

사실 그냥 강의만 보다보니 머리에도 잘 안들어와서 내가 직접해보면서 포스팅 하니깐 복습이 되는 느낌 적인 느낌..

 

Discussion에서 결측치를 그냥 날리는게 아니라 그 데이터들도 패턴을 분석하여 정화도를 높이는 방법이 많이 나와있는데 참고해서 정확도를 높여보는 것도 실력향상에 도움이 될거 같다.

댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31