Data Analysis/기계학습(Machine Learning)

지도학습 가이드 라인

Data-SSung 2020. 8. 10. 16:16
반응형

주제: 기계학습 가이드라인


지도학습의 가이드라인 

  • 모델 적용하기: 데이터 분석과정 중 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)
반응형