본문 바로가기

데이터 분석/머신러닝12

XGBoost XGBoost 소개 Gradient Boost을 최적화한 알고리즘. 주요 장점 빠른 수행 시간 ( C/C++ 언어로 작성) 뛰어난 예측 성능 과적합 규제 Tree Pruning 자체 교차 검증 기능 자체 결손 값 처리 병렬 처리 지원 XGBoost Algorithm 주요 과제 트리의 분리 기준과 각 노드의 가중치를 어떻게 설정할 것인가? 위 과제에 대한 해결방안을 손실 함수를 구하는 과정을 통해 얻을 수 있다. ※ 손실 함수 : 오류를 측정하는 함수 XGBoost는 Gradient Boost처럼 잔차를 점차 줄여나가는 방식으로 진행되는데 위 그래프에서 Loss function(손실 함수)의 기울기가 최소가 되는 지점을 알면W(weight) 값(노드의 가중치)을 알 수 있다. 손실 함수를 알게 되면 트리 .. 2022. 10. 7.
부스팅 알고리즘 (Boosting Algorithm) Boosting 부스팅이란? 앙상블 학습 유형 중 하나로 약한 분류기를 순차적으로 학습-예측하면서 가중치를 조정하여 오류를 개선하면서 학습하는 방식. 부스팅의 특징 각 분류기가 순차적으로 진행 결과 도출시에도 각 모델 결과에 가중치를 반영한다. 나중 모델의 결과에 더 높은 가중치를 둔다. 배깅 방식에 비해 속도가 느리며 데이터셋에 과적화될 위험성이 큼 대표적인 부스팅 알고리즘 AdaBoost GradientBoost XGBoost, LightGBM, CatBoost 등 AdaBoost 예측 성능이 낮은 학습기를 구축 및 조합하여 가중치 조절을 통해 좋은 성능을 발휘하는 강한 분류기를 합성하는 알고리즘 진행 과정 정리 AdaBoost는 매 단계마다 이전 분류기에서 오차가 크거나 오분류된 데이터들의 가중치를.. 2022. 10. 5.
랜덤 포레스트 (Random Forest) Random Forest 소개 랜덤포레스트는 분류 및 회귀 ML 중 하나로 앙상블 학습 방법의 일종으로 트리 기반 알고리즘이다. 각 트리들은 랜덤하게 서로 다른 특성을 가진다. 이를 통해 각 트리들의 예측이 비상관적이며 결과적으로 일반화 성능을 향상시킨다. 랜덤화 랜덤화는 각 트리들의 훈련 과정에서 진행되며, 랜덤 학습 데이터 추출 방법을 이용한 앙상블 학습법인 배깅(bagging)과 랜덤 노드 최적화(randomized node optimization)가 자주 사용된다. 이 두 가지 방법은 서로 동시에 사용되어 랜덤화 특성을 더욱 증진 시킬 수 있다. 배깅 (Bagging) 랜덤 샘플링한 데이터를 여러 모델에 학습시킨 뒤 결과를 집계하는 방식 Bootstrap Sampling 데이터셋에서 여러 작은 데.. 2022. 10. 2.
앙상블(Ensemble) 앙상블이란? 여러 전문가(ML)들이 협력하여 결론(예측)을 하는 방식 앙상블 학습 유형 배깅 보팅 부스팅 배깅 (Bagging) 랜덤 샘플링한 데이터를 여러 모델에 학습시킨 뒤 결과를 집계하는 방식 과정 특징 각 분류기가 서로 독립적으로 병렬적으로 진행 범주형 자료일 때 다수결로 채택, 숫자형 자료일 때 평균 값을 채택 속도가 빠르며 과적합 영향이 적다. 적은 데이터셋이라도 준수한 결과를 도출한다. 대표적인 알고리즘 : RandomForest 보팅 ( Voting) 여러 분류기가 투표를 통해 예측 결과를 결정하는 방식 유형 Soft Voting : 모든 분류기가 예측한 값의 결정 확률 평균을 구한 뒤 확률이 높은 값으로 결정 Hard Voting : 다수의 분류기가 예측한 값으로 결정 부스팅(Boosti.. 2022. 10. 2.
결정 트리(Decision Tree) 소개 Decision Tree(결정 트리)는 지도 학습에서 분류 및 회귀에 사용되는 모델 중 하나로 불순도가 낮아지는 방향으로 가지를 계속해서 분할해 나가는 알고리즘. ML 알고리즘 중에서 가장 직관적인 알고리즘 특징 쉽게 이해할 수 있고 해석이 간편하다. 별도의 처리과정 없이 쉽게 사용이 가능하다. RandomForest, Gradinet Boost, XGBoost 등 여러 ML 모델의 기반 알고리즘 불순도 불순도란 다양한 요소들이 섞여있는 정도를 의미. 대표적인 불순도 척도로 지니 계수와 엔트로피가 주로 사용 - 지니 계수 지니 계수란 경제적 불평등을 나타내던 용어로 0에 가까울 수록 평등하고 1에 가까울 수록 불평등을 나타낸다. 의사결정트리에서의 지니계수는 이와 약간 달리 0.5값을 가질 때를 가장.. 2022. 9. 25.
유튜브 댓글 분석하기 유튜브 댓글을 워드클라우드로 표현하여 어떤 단어가 많이 쓰였는지 알아봅시다. 본 과정은 Colab 환경에서 진행하였으며 댓글 작성자 및 저작권 침해 우려로 인해 분석 결과물은 넣지 않았습니다. 1. 유튜브 댓글 수집하기 pip install google-api-python-client pip install konlpy # 글꼴 설정 !apt-get update -qq !apt-get install fonts-nanum* -qq import matplotlib.font_manager as fm import warnings warnings.filterwarnings(action='ignore') path = '/usr/share/fonts/truetype/nanum/NanumGothic.ttf' # 나눔 고.. 2022. 6. 15.