본문 바로가기

제로베이스59

교차검증 (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.
Decision Tree를 이용한 Wine 데이터 분석_데이터 처리 저번 시간에 확인한 red와 white wine에 대한 데이터를 이제 처리해보겠습니다. 머신러닝을 할 때에는 feature롸 label로 데이터를 분류한 뒤 학습을 시키고 예측을 시킨뒤 정확도를 확인하고, Decision Tree인 경우 Tree가 어떻게 생겼는지 확인했었습니다. 이번 시간에는 그 작업을 진행하겠습니다. 3. 데이터 처리 3-1. 데이터 분류하기 레드인지 화이트인지 분류하는 머신러닝을 진행해보려고 합니다. 먼저 color가 적히지 않은 wine과 color가 적힌 wine 데이터를 각각 만들겠습니다. feature(문제)인 X를 만들고, label(정답)인 y를 만들겠습니다. color 컬럼만 따로 들고왔습니다. 마지막으로 데이터 확인해주겠습니다. X = wine.drop(['color'.. 2024. 3. 1.
728x90