오늘은 여러 머신러닝 알고리즘을 사용해 타이타닉 생존자를 예측해 보겠습니다.
데이터셋은 캐글 사이트에서 가져오도록 합시다.
워낙 유명한 데이터셋이라 찾기 쉽지만 혹시 몰라 데이터셋을 올려놓겠습니다.
필요한 라이브러리를 불러오고 데이터셋을 확인합니다.
데이터셋을 불러올 땐 자신의 데이터셋이 저장된 경로를 입력해야합니다.
1. 데이터 전처리
데이터셋에 결측치가 있을 수 있으므로 전처리해 주도록 합니다.
age열에 결측치가 있다면 age의 평균값을 채워넣습니다.
만약 Cabin열과 Embarked열에 결측치가 있으면 N으로 채웁니다.
결측치를 확인해본 결과 0개인것을 볼 수 있습니다.
carbin열에 첫 글자만 따서 다시 carbin열에 저장합니다.
사이킷런의 preprocessing을 이용해 문자를 수치화하는 과정입니다.
쉽게 설명한다면 값의 분포가 문자로 돼있다면 같은 문자 데이터를 숫자로 변환해 범주로 지정하는 것입니다.
Cabin, Sex, Embarked를 수치화합니다.
생존률과 딱히 관계 없는 열은 drop으로 데이터프레임에서 제거해 줍시다.
2. 예측하기
DecisionTreeClassifier, RandomForestClassifier, LogisticRegression을 사용해 예측해 보겠습니다.
필요한 라이브러리를 불러오고 각 모델을 생성합니다.
accuracy_score는 정확도 평가 라이브러리입니다.
먼저 DecisionTreeClassifier입니다.
Survive는 예측한 생존자입니다.
정확도는 0.71정도 나온 모습을 볼 수 있습니다.
RandomForestClassifier입니다.
LogisticRegression입니다.
가장 높은 정확도를 보인 알고리즘은 RandomForest입니다.
'머신러닝' 카테고리의 다른 글
[파이썬] 인공지능 수학 자연어 처리( BOW, DTM, TF-IDF ) (0) | 2023.04.04 |
---|---|
[파이썬] 두 벡터 사이의 거리 및 각도 (0) | 2023.03.29 |
[파이썬] 인공지능 수학 (벡터, 노름) 정리 (0) | 2023.03.28 |
[파이썬] 간단한 파이썬 크롤링 ( 전세계 축구 선수 몸값 분석) (0) | 2023.03.22 |
[파이썬] KNN 머신러닝 알고리즘을 사용해 도미와 빙어 구분하기 (0) | 2023.03.15 |