📌 조건부 추론 나무(Conditional Inference Trees) Conditional Inference Trees (CIT)는 통계적 학습의 한 분야에서 비교적 새로운 접근 방식으로, 전통적인 의사결정 나무 모델들이(벌써 의사결정 나무가 전통적인 방법이 되었네요 ㅜ) 직면하는 몇 가지 문제를 해결하고자 하기위해 등장했다. 이 방법론은 의사결정 나무를 구축하는 과정에서 통계적 검정을 사용하여 분할을 결정하는 것이 특징이다. 이러한 접근 방식은 데이터 내의 구조를 탐색할 때 발생할 수 있는 과적합과 변수 선택 편향 문제를 줄이는 데 도움을 준다. 의사결정 나무 생성 알고리즘으로 가장 많이 사용되는 CART 알고리즘은 과적합 방지를 위한 Prunning 그리고 gini index를 이용하는 생성 방법..
📌 의사결정 나무와 알고리즘들 의사결정 나무(Decision Tree)는 데이터 과학의 강력한 도구로, 복잡한 데이터 세트로부터 의미 있는 정보를 추출하고 예측 모델을 구축하는 데 널리 사용된다. 실제로 우리 Data mining, ML에 관해 공부할 때 거의 기초 수준으로 공부하고 볼 수 있는 모델이다. 이 방법론은 그 이름에서 알 수 있듯이, 결정 규칙을 나무 구조로 조직화하여 결과를 도출한다. 각 분기는 데이터의 특성에 따른 결정 과정을 나타내며, 최종적으로 리프 노드에 도달하여 결론을 내린다. 이러한 과정은 복잡한 의사 결정 과정을 직관적이고 이해하기 쉬운 방식으로 시각화할 수 있게 해준다.(가장 큰 장점) 의사결정 나무의 핵심 가치는 그 간결함에 있다. 데이터의 내재된 패턴을 명확하게 파악할 수..
📌 Stacking 앙상블 모델 중 하나인 stacking 입니다. stacking이 재밌는 점은 여러 모델들을 학습하고 이를 또다시 새로운 모델로 학습한다는 점입니다. 기본 모델들이 각자의 예측을 수행 한뒤, 그 예측값들을 이용해 새로운 모델을 학습합니다. 이를 통해 기본 모델이 갖는 각자의 강점을 살려 높은 성능을 보일 수 있습니다. 스태킹에서는 크게 세 가지 구성 요소가 있는데 1️⃣ 기본 모델 기본적인 모델로 서로 다른 알고리즘을 사용하거나, 다양한 하이퍼 파라미터로 설정된 모델들(로지스틱 회귀, 서포트 벡터 머신, 랜덤 포레스트 등등) 2️⃣ First Level 예측 각 기본 모델이 주어진 데이터에 대해 각자 예측을 수행합니다. 이 예측한 값들이 First Level에서 쌓(stack!)입니다..
📌 Ensemble : Voting model 오늘은 앙상블 모델 중 voting model에 대해 알아볼까 합니다. 전에 포스팅했던 Bagging의 경우도 투표를 하지만, Voting model의 경우 여러 모델을 학습하여 각 모델의 결과를 이용하여 투표하는 것이고, Bagging의 경우 하나의 모델에서 여러 데이터셋의 split을 이용한 방법입니다. ◼️ 분류에서(Hard Voting, Soft Voting) 우선 $m$개의 분류모델 $\hat{f}_1, ..., \hat{f}_m$이 있을 때 예측값을 $\hat{Y}_j(\textbf{x}) = \hat{f}_j$라고 합시다. 투표 방법에는 Hard Voting, Soft Voting이 있습니다. 1️⃣ Hard Voting Hard Voting에서..
📌 ROC(Receiver Operating Characteristic) curve analysis ROC는 우리가 이진 분류 모델의 성능을 파악할 때 사용합니다. 모델의 성능을 시각적으로 확인할 수 있는 통계적 그래픽 요소입니다. 보통 우리가 분류를 할 때 사용하는 결정 임계값은 0.5입니다. 이는 모델이 예측한 확률로 특정 데이터 포인트의 클래스를 결정하는 기준 값입니다. ROC는 0.5뿐 아닌 다양한 결정 임계값에서 어떻게 작동하는지 성능을 나타냅니다. ROC 곡선은 다음 두 가지의 주요 지표를 그림으로 나타냅니다. $$ \text{Sensitivity} = \dfrac{TP}{TP+FN} \\ \text{1-Specificity} = \dfrac{FP}{FP+TN} $$ 구조를 보시면 아시겠지만 ..
📌 Cohen's kappa k Cohen's kappa (κ)는 머신러닝 및 통계에서 사용되는 통계적 측정 지표 중 하나로, 두 명 이상의 평가자 간의 일치도(범주형 자료에서)를 측정하는 데 사용되는 통계량 입니다. 특히, 이 지표는 분류 작업에서 모델의 성능을 측정하는 데 적용되며, 평가자 간의 일치 정도를 고려하여 모델의 성능을 조정합니다. Cohen's kappa는 혼란 행렬(Confusion Matrix)에 기반하며, 주로 이진 또는 다중 클래스 분류 문제에서 사용됩니다. 혼란 행렬은 아실거라 생각하고 혹시 모르신다면 혼동행렬 설명 링크를 확인해주세요. Cohen's kappa는 다음과 같은 공식으로 정의됩니다: $$ \kappa = \dfrac{P_O-P_E}{1-P_E} $$ 여기서 $P_O..
📌 Confusion matrix 데이터 과학 및 머신 러닝 분야에서 모델의 성능을 평가하고 해석하는 데 있어서, 혼동 행렬(Confusion Matrix)은 핵심적인 개념 중 하나입니다. 혼동 행렬은 모델이 예측한 결과와 실제 관측값 간의 관계를 시각적으로 정리하는 강력한 도구로, 모델의 성능을 이해하고 향상시키는 데 도움이 됩니다. 혼동 행렬은 분류 모델의 평가를 위한 핵심 도구로, 모델이 얼마나 정확하게 예측하는지, 어떤 유형의 오류가 발생하는지를 살펴볼 수 있는 표입니다. Positive 클래스와 Negatice 클래스 간의 참 양성(True Positive), 참 음성(True Negative), 거짓 양성(False Positive), 그리고 거짓 음성(False Negative)을 나타내는 ..
R로 XGboost를 구현합니다. XGboost에 대한 이론적인 내용은 아래를 참고해주세요. 3. Boosting : XGBoost 쉽게 이해해보자.(간단 ver.) 전 글들이 좀 읽기 어려운 것 같아 쉽게 써보려고 합니다. 전 글들 : XGBoost에 대해(원리와 공식) 저번 포스팅에 이어서 XGBoost의 원리와 왜 확장성이 높은 알고리즘인가에 대해서 포스팅 하려고 합 datanovice.tistory.com 특별한건 아니고 대략적인 이런식으로 코드를 구현하는거구나~ 정도로 할겁니다! XGB with R - 라이브러리, 데이터 불러오기, 7:3으로 train, test set # 라이브러리 불러오기 # 데이터 : iris data library(MASS) library(xgboost) set.seed..
전 글들이 좀 읽기 어려운 것 같아 쉽게 써보려고 합니다. 전 글들 : XGBoost에 대해(원리와 공식) 저번 포스팅에 이어서 XGBoost의 원리와 왜 확장성이 높은 알고리즘인가에 대해서 포스팅 하려고 합니다! 공식의 유도와 원리에 대한 이야기이기 때문에 전 포스팅을 보고 와주세요. XGBoost: A Scalab datanovice.tistory.com XGBoost: A Scalable Tree Boosting System(Carlos & Tianqi. 2016) 리뷰 이번엔 XGBoost를 다루려고 합니다. 해당 논문을 읽고 정리한 내용이니 좀더 자세하고 이해하기 쉬운 설명은 다음 포스팅을 참고해주세요! 1️⃣ 서론 기계 학습과 데이터 기반 접근법이 많은 분 datanovice.tistory.c..
저번 포스팅에 이어서 XGBoost의 원리와 왜 확장성이 높은 알고리즘인가에 대해서 포스팅 하려고 합니다! 공식의 유도와 원리에 대한 이야기이기 때문에 전 포스팅을 보고 와주세요. XGBoost: A Scalable Tree Boosting System(Carlos & Tianqi. 2016) 리뷰 이번엔 XGBoost를 다루려고 합니다. 해당 논문을 읽고 정리한 내용이니 좀더 자세하고 이해하기 쉬운 설명은 다음 포스팅을 참고해주세요! 1️⃣ 서론 기계 학습과 데이터 기반 접근법이 많은 분 datanovice.tistory.com 📌 XGBoost 우선 XGBoost란 부스팅의 한 종류로 gradient boosting의 upgrade 버전으로 보시면 되겠습니다. Gradient Boosting과 같이 ..