본문 바로가기

머신러닝/Preprocessing8

GridSearchCV을 통한 하이퍼파라미터 튜닝 머신러닝에서는 raw data가 있고, 이 raw data를 feature engineering 시킵니다. feature engineering은 특성을 관찰하고, 머신러닝을 더 잘 수행하기 위해서 새로운 특성을 만들어내거나 가공하는 단계를 말합니다. 그 후에 train, validation, test로 데이터를 나누었습니다. train 데이터를 가지고 모델을 만들고 훈련 결과를 확인했었죠, 그리고 그 안에서 찾은 모델, validation 모델을 가지고 다시 결과를 확인합니다. 이걸 보면서 hyperparameter를 tuning합니다. 그런데 이게 말이 어려워서 그렇지 노가다를 의미합니다. 즉 손으로 하나하나 일일히 수정해야 하는 단계를 말합니다. 그리고 난 다음에 모델이 다 완료되면, test를 하는.. 2024. 3. 7.
교차검증 (cross validation) 1. 교차검증이 필요한 이유 이전에 과적합을 막기위해 train과 test 데이터로 분류한다고 했습니다. 심지어 train 데이터를 또 한 번 분류하는 데 그것이 validation 검증데이터라고 했습니다. 이걸 해보겠습니다. k-fold cross validation이라고 총 train 데이터를 5개로 구분짓고 그 중 4개로 train하고 나머지 하나로 validation 하는 방법을 말합니다. 사진과 같이 5번의 검증하는데 이 때 train 데이터의 accuracy를 모두 평균내서 가져갑니다. 교차 검증을 구현해보겠습니다 2. k-fold cross validation import numpy as np from sklearn.model_selection import KFold X = np.array(.. 2024. 3. 6.
Scikit-learn Pipeline으로 만들기 단순히 데이터를 받아서 사용했을 뿐인데, 직접 공부하면서 코드를 사용하다보면 혼돈이 있을 수 있습니다. 함수나 클래스를 같이 사용하는 경우를 말하는데, 코드의 실생 순서에 혼돈이 있을 수 있습니다. 이런 경우 전처리 과정이나 알고리즘의 반복실행 시 클래스(class)로 만들어서 진행해도 되지만, sklearn 유저에게는 꼭 그럴 필요가 없이 준비된 기능이 있습니다. 그것이 바로 pipeline입니다. pipeline을 사용해서 지난시간의 wine 데이터를 처리해보겠습니다. import pandas as pd red_url = 'https://raw.githubusercontent.com/PinkWink/ML_tutorial/master/dataset/winequality-red.csv' white_url.. 2024. 3. 5.
Decision Tree를 이용한 Wine 데이터 분석_이진분류 전에는 red와인이냐 white와인이냐로 분류했다면 이번에는 quality 컬럼을 이진화 해보겠습니다. 이진화는 quality가 3부터 9등급까지 있으므로, 3-5, 6-9등급으로 나누어 맛이없다(0)와 맛이있다(1)로 나눠보겠습니다. 4. 와인 맛에 대한 분류 (이진분류) wine['taste'] = [1. if grade>5 else 0. for grade in wine['quality']] wine if문과 for문을 한 줄에 적어보았습니다. wine.info() info()로 모든 데이터에 누락이 없는지도 잘 확인해줬습니다. 이제 학습을 위해 feature와 label로 나누기 위해 taste를 빼보겠습니다. X = wine.drop(['taste'], axis=1) y = wine['taste'.. 2024. 3. 4.
728x90