주제: 기계학습 가이드라인
지도학습의 가이드라인
- 모델 적용하기: 데이터 분석과정 중 EDA(데이터 정제) 이후에 적합한 모델을 적용하는 단계
- 준비물: EDA Data(정제된 Data), 적합한 모델 선택
- 오늘 가이드라인 소개를 위해서 iris 범주형 자료를 사용함
- iris 데이터 소개: 붓꽃의 3가지 종(setosa, versicolor, virginica)에 대해 꽃받침과 꽃잎의 길이를 정리한 데이터
1. 데이터 불러오기
import seaborn as sns
df = sns.load_dataset('iris')
1.2 설명변수(X)와 타켓변수(Y) 지정하기
# 변수명
df.columns
Y = df['species']
X = df.drop(columns = 'species') # df에서 'species'변수 drop 시키기
2. 데이터 분리하기
from sklearn.model_selection import train_test_split
Train_X, Test_X, Train_Y, Test_Y = train_test_split(X,Y)
3. 모델 선택 및 인스턴스화
- iris data는 분류 모델 중 나이브 베이즈 분류 모델 사용
- 모델 선택을 위해서는 통계, 데이터 분석, 머신러닝 모델에 대한 지식이 필요
from sklearn.naive_bayes import GaussianNB
model = GaussianNB()
4. 모델 피팅
model.fit(Train_X, Train_Y)
5. 데이터 예측
prediction_Y = model.predict(Test_X)
6. 모델 평가
- 모델마다 평가 기준이 다르기 때문에 이 부분 또한 통계, 데이터 분석, 머신러닝 모델에 대한 지식이 필요
from sklearn.metrics import accuracy_score
accuracy_score(Test_Y, prediction_Y)
전체 코드
# 전체 코드
import seaborn as sns
df = sns.load_dataset('iris')
df.columns
Y = df['species']
X = df.drop(columns='species')
from sklearn.model_selection import train_test_split
Train_X, Test_X, Train_Y, Test_Y = train_test_split(X,Y)
from sklearn.naive_bayes import GaussianNB
model = GaussianNB()
model.fit(Train_X, Train_Y)
prediction_Y = model.predict(Test_X)
from sklearn.metrics import accuracy_score
accuracy_score(Test_Y, prediction_Y)