본문 바로가기

전체 글

(66)
validation set이란? test set과의 차이점과 사용 방법 여태까지 공부를 할 때는 train set과 test set 두개로만 데이터를 나누었다. 다만 이렇게 train, test 두개로만 분리하는 것은 기초적인 수준이고, 보통 현업에서 모델을 만들 때는 train, test, validation set 세개로 나눈다. Validation Set과 Test Set의 차이? validation set : 학습이 이미 완료된 모델을 검증하기 위한 set (중간 점검) test set : 학습과 검증이 끝난 모델의 최종 성능 평가용 단순히 train, test로만 분리하면 train set으로 모델을 만들고 test set으로 성능을 평가하게 된다. 보통 현업에서 모델을 만들 때는 한번에 모델이 만들어지기 보다는 피드백을 받고 수정을 거치는 경우가 대부분이다. 그런..
데이터 스케일링 반드시 필요한 전처리 과정! fit_transform과 transform의 차이 모델을 학습시키기에 앞서 데이터 전처리는 꼭 필요하다. 특성별로 값의 범위가 다 다르기 때문에 어떤 특성은 값이 너무 작고 어떤 특성은 값이 너무 크다면 알고리즘 학습 시 0으로 수렴하거나 무한으로 발산해버리면서 원하는 결과값이 나오지 않을 수 있다. 특히 SVM이나 신경망 알고리즘 같은 경우 데이터의 스케일에 매우 민감하기 때문에 알고리즘에 맞는 데이터 특성값 조정은 반드시 선행되어야 한다. 데이터 스케일링의 종류 1. StandardScaler 평균=0, 표준편차=1로 조정해서 모든 특성이 같은 크기를 갖게 한다. 2. MinMaxScaler 최대값=1, 최소값=0으로 조정, 아웃라이어에 취약 3. RobustScaler 중앙값=0, IQR(1분위~3분위값)=1로 조정, 아웃라이어 영향을 최소화하며 ..
에이다부스트와 그라디언트부스팅 기본 개념과 코드, 부스팅과 배깅의 차이 이번 포스팅에서는 앙상블 학습 두번째, 부스팅에 대해 알아보자. 다른 앙상블 학습인 배깅과 랜덤포레스트는 아래 링크에서 확인! 2021.06.21 - [파이썬/머신러닝] - 배깅(bagging) 기본 개념과 예시, 사이킷런 BaggingClassifier 2021.06.19 - [파이썬/머신러닝] - 랜덤 포레스트 원리와 구현 사이킷런 예제로 코드 실습해보기 부스팅 기본 개념, 배깅과의 차이 부스팅은 weak learner 여러개를 연결해 strong learner를 만드는 앙상블 기법이다. 배깅은 훈련 세트에서 중복을 허용하여 샘플링해서 여러 개의 분류기를 만들어 분류 모델의 경우 최빈값을, 회귀 모델의 경우 평균값을 최종 예측값으로 사용하는 병렬 학습이다. 반면 부스팅은 한번에 여러개의 예측기를 만드..
배깅(bagging) 기본 개념과 예시, 사이킷런 BaggingClassifier 앙상블 훈련 방법 중 가장 많이 쓰이는 방법은 배깅, 부스팅, 스태킹이 있다. 오늘은 그 중에서 배깅에 대해서 알아보자. 앙상블 방법은 여러개의 괜찮은 예측기를 연결해 더 좋은 예측기를 만드는 방법이다. 각각의 예측기의 성능이 뛰어날 필요는 없다. 각 분류기가 weak learner여도 충분히 많고 다양한 분류기를 결합해서 만든 앙상블은 strong learner가 될 수 있다. 배깅이란? 다양한 분류기를 만드는 방법은 2가지가 있다. 1. 각기 다른 훈련 알고리즘을 사용하기 2. 훈련 세트의 서브셋을 무작위로 구성하여 하나의 분류기를 다르게 학습시키기 이 때 두번째 방법에서 중복을 허용해서 샘플링하는 것이 배깅(Bootstrap aggregation), 중복을 허용하지 않는 것이 페이스팅(pasting..
랜덤 포레스트 원리와 구현 사이킷런 예제로 코드 실습해보기 오늘은 앙상블 기법 중 하나인 랜덤포레스트에 대해 공부해봤다. 랜덤포레스트를 배우려면 일단 결정트리(Decision Tree)가 뭔지부터 알아야 한다. 결정 트리에 대한 자세한 내용은 아래 포스팅을 참고! 2021.06.13 - [파이썬/머신러닝] - 결정트리(Decision Tree) , 엔트로피 개념과 시각화까지 결정트리(Decision Tree) , 엔트로피 개념과 시각화까지 Decision Tree 모델은 가장 많이 쓰이는 지도학습 ML 모델 중 하나이다. 추후 학습할 앙상블 학습의 배깅 방법인 Random Forest는 Decision Tree 여러개를 모아 모델을 학습시키는 방식이다. 그렇기에 그 기 for-my-wealthy-life.tistory.com 랜덤포레스트는 결정트리 여러개로 만들..
캐글 heart 데이터로 EDA부터 로지스틱회귀, 트리모델 적합까지 총정리 오늘도 열심히 Kaggle 필사! 오늘은 심장질환을 예측하는 heart.csv 파일로 linear classifiers와 tree model을 학습시켜봤다. output이 타겟(y), 나머지는 X변수이다. 데이터 구조 파악 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns heart = pd.read_csv('heart.csv') heart.head() print(heart.shape()) >>(303,14) print(heart.info()) 총 303개의 행, 14개의 열로 이루어져있고 각 컬럼별 속성을 확인해보면 null 값은 없고 oldpeak 컬럼을 제외하면 나머지는 모두 int ..
타이타닉 데이터 전처리와 결정트리 모델 오늘은 titanic 데이터를 갖고 decision tree 모델을 공부해봤다. 머신러닝 공부할 때 kaggle은 꼭 보는 것이 좋다. 워낙 훌륭하신 분들이 많아.. 필사를 해보는 것 만으로도 아주 많은 도움이 된다. 결정트리(Decision Tree) 기본 개념 import numpy as np import pandas as pd import re import seaborn as sns import matplotlib.pyplot as plt %matplotlib inline from sklearn.metrics import accuracy_score from sklearn.model_selection import KFold, cross_val_score, train_test_split from skl..
결정트리(Decision Tree) , 엔트로피 개념과 시각화까지 Decision Tree 모델은 가장 많이 쓰이는 지도학습 ML 모델 중 하나이다. 추후 학습할 앙상블 학습의 배깅 방법인 Random Forest는 Decision Tree 여러개를 모아 모델을 학습시키는 방식이다. 그렇기에 그 기초가 되는 결정트리 모델은 꼭꼭 잘 알고 있어야 한다는거! 결정트리는 분류와 회귀 모두 가능한 지도 학습 모델이다. Decision Tree는 마치 SQL의 Case when문과 비슷하다. 다만, case when문은 사람이 직접 조건과 결과값을 정해주는거라면, decision tree는 X 변수를 넣어주면 모델이 알아서 조건과 결과값을 학습한다는 점에서 차이가 있다. decision tree 모델은 마치 스무고개를 하듯 질문에 대한 Y/N에 따라 가지를 뻗쳐나간다. 한번 분..