-
Train_Test_Split 함수 사용Train_Test_Split 함수 사용머신러닝(MACHINE LEARNING) 2021. 4. 13. 17:34반응형
Model Selection 모듈 소개
from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeRegressor from sklearn.metrics import accuracy_score iris = load_iris() dt_clf = DecisionTreeRegressor() train_data = iris.data train_label = iris.target dt_clf.fit(train_data, train_label) print(' 예측 정확도 : {0:.2f}'.format(accuracy_score(train_label,dt_clf.predict(train_data))))
예측 정확도 : 1.00
여기서 학습데이터로만 학습하게 되면, 예측정확도가 1 이 나오게되는데 , 이는 학습한 학습 데이터 세트를 기반으로 예측했기 때문에 잘못된 결과이다.
train_test_split 모듈을 통한 train set , test set 을 분리해줘야 한다.from sklearn.model_selection import train_test_split iris_data = load_iris() X_train, X_test, Y_train, Y_test = train_test_split(iris_data.data, iris_data.target, test_size = 0.3, random_state = 11) dt_clf.fit(X_train,Y_train) print(' 예측 정확도 : {0:.2f}'.format(accuracy_score(Y_test,dt_clf.predict(X_test))))
예측 정확도 : 0.91
여기서 test_size 는 test에 얼마만큼의 양을 할당할 것인지를 나타내고 random_state 는 random한 값을 넣어 섞어주는 난수값을 말한다. 주의 할 점은 동일한 데이터를 학습시킬 때, random_state 를 모두 다르게 써주면, fit이 이상하게 될 수 있으니, random_state 를 일정하게 유지해주는 것이 좋다.
반응형'머신러닝(MACHINE LEARNING)' 카테고리의 다른 글
GridSearchCV () - 파라매터 와 교차검증을 동시에 하는 API (0) 2021.04.13 교차 검증을 위한 Cross_val_score() 함수 사용법 (0) 2021.04.13 K-Fold 와 Stratified-KFold 기법 (2) 2021.04.13 pandas_sklearn_DecisionTreeclassifier (0) 2021.04.13 Kaggle_Titanic (0) 2021.04.09