반응형
머신러닝(Machine Learing) 학습과정 순서
1. 문제정의
2. 데이터수집(크롤링, 공공데이터, IOT센서데이터, 설문조사)
3. 데이터전처리(결측치,특성공학)
4. 탐색적 데이터분석(시각화, EDA)
5. 모델선택(머신러닝(지도학습:분류,회귀), (비지도학습:군집,연관), 딥러닝, 강화학습)
6. 모델학습
7. 모델평가(오차,R2,F1,엔트로피)
8. 예측, 추론
1) 문제정의
- 실제 kaggle 데이터인 타이타닉 데이터를 이용해 머신러닝을 진행
- 타이타닉 데이터의 승객들 정보를 가지고 이 승객의 사망여부를 예측
- 이진분류 문제(생존/사망)
2) 데이터수집
Kaggel사이트에서 데이터파일 다운로드(Download All)
Titanic 데이터 다운받기
3개의 Data파일
1. gender_submission.csv
: test데이터를 기반으로 생존자예측하여 kaggle에 제출(일종의 답안지)
2. test.csv
: 승객 891명의 데이터로 Survived(생존여부) 포함 12개 컬럼 데이터
3. train.csv
: 승객 418명의 데이터로 Survived(생존여부)를 제외한 11개 컬럼 데이터
데이터 기본 정보
3) 데이터전처리(결측치,특성공학)
# 라이브러리 import하기
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 데이터파일 읽어오기
train = pd.read_csv("data/titanic_train.csv", index_col="PassengerId")
test = pd.read_csv("data/titanic_test.csv",index_col="PassengerId")
# 데이터 행과 열 파악
train.shape, test.shape
((891, 11), (418, 10))
# 데이터 기본 정보
train.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 891 entries, 1 to 891
Data columns (total 11 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Survived 891 non-null int64
1 Pclass 891 non-null int64
2 Name 891 non-null object
3 Sex 891 non-null object
4 Age 714 non-null float64
5 SibSp 891 non-null int64
6 Parch 891 non-null int64
7 Ticket 891 non-null object
8 Fare 891 non-null float64
9 Cabin 204 non-null object
10 Embarked 889 non-null object
dtypes: float64(2), int64(4), object(5)
memory usage: 83.5+ KB
# 데이터(train) 결측값 파악
train.isnull().sum(axis=0)
Survived 0
Pclass 0
Name 0
Sex 0
Age 177
SibSp 0
Parch 0
Ticket 0
Fare 0
Cabin 687
Embarked 2
dtype: int64
# 데이터(test) 결측값 파악
test.isnull().sum(axis=0)
Pclass 0
Name 0
Sex 0
Age 86
SibSp 0
Parch 0
Ticket 0
Fare 1
Cabin 327
Embarked 0
dtype: int64
반응형
'Learn Coding > python' 카테고리의 다른 글
isnan vs isna vs isnull 차이점(스마트인재개발원) (0) | 2021.11.24 |
---|---|
머신러닝 파이썬(python) 라이브러리 (0) | 2021.11.22 |
댓글