머신러닝 붓꽃 학습

2019. 7. 29. 19:53기타

728x90

사이킷런에 들어있는 붓꽃학습 자료를 사용합니다.

 

 

from sklearn.datasets import load_iris

 

iris = load.iris()

 

import pandas as pd

 

* 가지고 있는 데이터를 7 : 3 정도로 나눈다. 그중 7은 모듈 학습 데이터(X_train, y_train) 자료로 쓰고, 나머지 3은 학습한 모듈의 성능을 검사할 때 테스트자료로 쓴다(y_train, y_test)

 

X = iris_df

y = iris.target

 

from sklearn.model_selection import train_test_split   # train_test_split을 사용하면 언제나 X_train, X_test, y_train, y_test 순서로 결과값이 나온다.

 

 

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.4, random_state = 7)

 * 여기서 test_size와 random_state는 랜덤하게 뭔가를 한다는 뜻이었는데 뭔지 까먹음. 데이터의 값이 1, 1, 1 , 2, 2, 2, 3, 3, 3 이런식으로 정렬되어 있다면 train set과 test set을 나눠도 골고루 학습이 되지 않기 때문.

 

 

from sklearn.neighbors import KNeighborsClassifier

from sklearn import metrics

 

model = KNeighborsClassifier(n_neighbors = 1) # 근접한 이웃 1개만 본다는 뜻

model.fit(X_train, y_train) # 모델을 학습시킨다 fit

pre = model.predict(X_test) # 모델을 테스트해본다 predict 배운것을 토대로 예측 테스트를 하는 것

 

metrics.accuracy_score(pre, y_test) # 테스트 시켜본 값과 실제 값이 얼마나 일치하는 지를 확인하는 작업.

* 여기서 헷갈리면 안되는 점, train set이든 test set이든 다 우리가 가지고 있는 데이터이다. 우리는 이미 질문과 답을 가지고 있고, 그 자료를 쪼개어 각각 학습용, 성능테스트용으로 쓰는 것이다.

 

 

 

주요 참고자료 : <파이썬 라이브러리를 활용한 머신러닝>, 박해선, 한빛미디어

728x90
반응형