목록ML (7)
AI기록장

앙상블 학습(Ensemble Learning) 앙상블 학습이란? 앙상블 학습(Ensemble Learning)을 통한 분류는 여러 개의 분류기(Classifier)를 생성하고, 그 예측을 결합함으로써 보다 정확한 최종 예측을 도출하는 기법임 어려운 문제의 결론을 내기 위해 여러 명의 전문가로 위원회를 구성해 다양한 의견을 수렴하고 결정하듯이 앙상블 학습의 목표는 다양한 분류기의 예측 결과를 결합함으로써 단일 분류기보다 신뢰성이 높은 예측값을 얻는 것이다. 앙상블 유형 일반적으로 보팅(Voting), 배깅(Bagging), 부스팅(Boosting)으로 구분할 수 있으며, 이외에 스태킹(Stacking)등의 기법이 있다. 대표적 배깅은 랜덤포레스트 알고리즘이 있으며, 부스팅은 에이다 부스팅, 그래디언트 부스..

결정 트리(Decision Tree) 머신러닝의 기본적인 알고리즘으로, 분류(Classification)과 회귀(Regression) 두 종류 모두 사용되는 지도학습 알고리즘. 기본적인 구조는 '예/아니요'의 방식으로 알고리즘이 전개되는데, 데이터를 다루는 목적에 따른 기준을 형성하고, 이 기준을 토대로 트리를 형성하게 된다. 앞선 기준에 따라 성능이 달라지게 된다. 트리 분기 방식 우선, 결정 트리의 알고리즘은 지니 불순도(Gini)와 엔트로피(Entropy)를 사용하여 분기하는 방식 지니 불순도(Gini) 집합에 있어, 이질적인 것이 얼마나 섞여 있는지 측적하는 지표이며, CART 알고리즘에서 사용 쉽게 말해서, 어떤 집합에서 한 항목을 뽑아 무작위로 라벨을 추정할 떄 틀릴 확률을 말함..

Machine Learning Evaluation 성능 평가 → 모델링을 할 수 있는 ML 알고리즘을 만들었다면, 실제값과 모델에 의해 예측된 값을 비교하여 두 오차를 구하는 것이다. 모델링을 하는 과정에서 목적과 목표 변수의 유형에 따라 몇가지의 다른 평가 지표를 활용하게 된다. 쉽게 말해, 내가 원하는 모델링의 목적에 맞게 알맞은 지표를 보고,오차율을 낮춰가며 좋은 성능의 모델을 만들어낼 수 있는 지표이다. 성능 평가지표는 분류모델과 회귀 모델의 평가모델이 있는데 이번에는 분류 모델의 평가지표에 대해서 다뤄볼 예정이다. 성능 평가 지표 종류 정확도(Accuracy) 오차 행렬(Confusion Matrix) 정밀도 (Precision) 재현율(Recall) F1-score ROC-AUC 정확도(Acc..

❖ Data Scaling : Data Scaling은 데이터 전처리 과정 중의 하나이다. 피처(feature)들마다 데이터값의 범위가 다 제각각이기 때문에 범위 차이가 클 경우 데이터를 갖고 모델을 학습할 때 0으로 수렴하거나 무한으로 발산할 수 있다. 즉, 이러한 머신러닝을 Data Scaling 방법을 이용하여 모든 피처들의 데이터 분포나 범위를 동일하게 조정할 수 있다. 표준화 데이터의 피처 각각이 평균이 0 이고, 분산이 1인 가우시안 정규 분포를 가진 값으로 변환하는 것 → x값이 최소일 떄 분자가 최소가 되어 x'은 0이되고, x값이 최대일 때 분자와 분모가 같으므로 x'은 1 정규화 서로 다른 피처의 크기를 통일하기 위해 데이터의 크기를 0~1사이로 변환해주는 개념이다. → ..
❖ 데이터 인코딩 머신러닝 알고리즘은 문자열 데이터 속성을 입력받지 않으며, 모든 데이터는 숫자형으로 표현 되어야함 사람과 컴퓨터가 데이터를 읽는 시각이 다르기 떄문에 컴퓨터가 분석하기 쉬운 값으로 변환해줘한다. 인코딩의 종류 레이블(Label)인코딩 원-핫(One-Hot)인코딩 인코딩 적용 방법 레이블(Label) 인코딩 : LabelEncoder 클래스, fit() 과 transform()을 이용하여 변환 원-핫(One-Hot) 인코딩 : OneHotEncoder 클래스 fit()과 transform()을 이용하여 반환, 인자로 2차원 ndarray 입력 필요 Sparse 배열 형태로 변환되므로 toarray()를 적용하여 다시 Dense 형태로 변환되어야함 ->pd.get_dummies(DataFr..

❖교차 검증이란? 데이터를 내가 원하는 k개 만큼 부분집합으로 만들어주고, 그 k개로 나누어진 데이터들을 학습과 데이터 셋을 한 fold씩 이동하며, 한 fold에 머물지 않고, 여러번 교차해 검증하는 것이다. →왜 사용하는가? 알고리즘을 학습 시키는 과정에서 학습 데이터와 테스트 데이터를 나누어 진행하게 된다. 학습 데이터와 테스트 데이터를 일정 비율로 나누어 진행하는데, 만약 8:2 의 비율로 학습 데이터와 테스트 데이터로 나누게 된다면, 학습 데이터에게만 최적화 된 모델 성능을 보여, 예측을 진행할때 현저히 떨어지는 경우가 발생할 수 있다. 또한, 이러한 과정은 테스트 데이터로 편향된 성능 개선이 이루어 질 수 있게 된다. (고정된 학습 데이터와 테스트 데이터로 성능을 평가하고 있기 떄문에 테스트 ..

Feature Selection ‣ Feature Selection(기능 선택)이란? 기계 학습 모델 구축에 사용할 관련 기능의 하위 집합을 선택하는 프로세스 데이터가 많을수록 결과가 더 좋아진다는 것은 항상 옮은 것이 아니다. 관련 없는 기능(예측에 도움이 되지 않는 기능)과 중복 기능을 포함하면 학습 프로세스가 과적합이 발생하기 쉽게된다. Feature Selection을 이용한다면, 해석하기 쉽도록 모델 단순화 훈련 시간 단축 및 계산 비용 절감 데이터 수집 비용 절감 과적합을 줄여 일반화 향상 ❖Filter Method Filter Method는 Feature을 선택하는데 있어 성능을 우선적으로 선택하게 되는데 p_value의 성능 유무를 가지고 판단하거나 각 관측 값들의 변화 관계 등을 이용해서..