타이타닉 전체 데이터 중 분석에 필요한 데이터(칼럼)만 추출하여 전처리합니다.
코드 3-10 데이터 전처리
df = df[['Pclass', 'Sex', 'Age', 'SibSp', 'Parch', 'Fare', 'Survived']] 승객의 생존 여부를 예측하려고 ‘Pclass’, ‘Sex’, ‘Age’, ‘SibSp’, ‘Parch’, ‘Fare’ 사용
df['Sex'] = df['Sex'].map({'male': 0, 'female': 1}) 성별을 나타내는 ‘sex’를 0 또는 1의 정수 값으로 변환
df = df.dropna() ------ 값이 없는 데이터 삭제
X = df.drop('Survived', axis=1)
y = df['Survived'] ------ ‘Survived’ 값을 예측 레이블로 사용
훈련과 검증 데이터셋으로 분리합니다.
코드 3-11 훈련과 검증 데이터셋으로 분리
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1)
사이킷런에서 제공하는 결정 트리 라이브러리를 이용하여 모델을 생성합니다.
코드 3-12 결정 트리 모델 생성
from sklearn import tree
model = tree.DecisionTreeClassifier()
준비된 훈련 데이터셋을 이용하여 모델을 훈련시킵니다.
코드 3-13 모델 훈련
model.fit(X_train, y_train) ------ 모델을 훈련시킵니다.