본문 바로가기
반응형

전체 글87

[머신러닝 with Python] 앙상블(Ensemble) 학습 (3) / 부스팅(Boosting) / GBM 이번 시간에는 지난 시간에 이어서 앙상블(Ensemble) 기법에 대해서 알아보겠습니다. 이번에 알아볼 것은 부스팅 기법에 대해서 알아보겠습니다. 부스팅에도 여러 기법이 존재하지만, 이번 시간에는 가장 기본이 되는 GBM(Gradient Boosting Machine)에 대해서 알아보겠습니다. 1. 부스팅(Boosting)이란? - 부스팅이란, 여러 개의 약한 학습기(Weak Learner)를 순차적으로 학습 - 예측 하면서 잘못 예측한 데이터에 가중치 부여를 통해 오류를 개선해 나가면서 학습하는 방식을 말합니다. - 부스팅의 초창기 모델은 에이다부스트(AdaBoost)입니다. 이는, 오류 데이터에 가중치를 부여하면서 부스팅을 수행하는 대표적인 알고리즘을 말합니다. 위 그림을 설명하면 아래와 같습니다. .. 2023. 9. 12.
[머신러닝 with Python] 앙상블(Ensemble) 학습 (2) / 배깅(Bagging) / 랜덤포레스트(Random Forest) / 타이타닉(titanic) 데이터 활용 지난번 포스팅에서는 앙상블 기법의 기본인 보팅(Voting)에 대해서 알아보았습니다. 이번에는 앙상블 기법 중 배깅(Bagging)에 대해서 알아보겠으며, 배깅의 대표적인 모델인 랜덤포레스트에 대해서 알아보겠습니다. 1. 배깅(Bagging)이란? - 배깅(Bagging)이란, Bootstrap Aggregating의 약어로 말 그대로 a) 부트스트랩(Bootstrap) 방법으로 원본 데이터에서 랜덤성과 중복을 허용하여 학습 샘플을 추출하고 b) 정해진 모델로 각각의 샘플에 대해서 학습한 결과를 Aggregating(종합, 집합)해서 최적의 결과를 도출하는 방법을 말합니다. - 이를 정리해서 Bagging 의 작동방식에 대해서 알아보면 아래와 같습니다. 1) 데이터의 부분 집합(Bootstrap 샘플)을.. 2023. 9. 11.
[머신러닝 with Python] 앙상블(Ensemble) 학습 (1) / 보팅(Voting) 이번에 알아볼 것은 앙상블(Ensemble) 학습이라는 기법입니다. 앙상블이라는 말 그대로, '한꺼번에, 협력하여' 결과를 도출하는 기법인데요 이번 포스팅에서는 분류(Classification) 문제에서, 앙상블 기법 중 보팅(Voting / 투표) 방식을 활용하는 방법을 알아보겠습니다. 1. 앙상블(Ensemble)이란 - 앙상블의 뜻은 '함께, 협력하여, 동시에' 로, 말 그대로 여러 구성요소들이 서로 조화를 이루어 더 큰 무언가를 이루어내는 것을 말합니다. - 분류(Classification) 문제에서도, 한 가지의 방법이 도출해내는 결과보다는 여러개의 결과를 비교하여 해당 클래스를 분류해낸다면 더 신뢰도가 높을 것으로 생각되는데요 - 이러한 아이디어에서 착안한 머신러닝에서 앙상블 기법이란, 여러 .. 2023. 9. 10.
[Python 언어비교] 텐서플로우(Tensor Flow) vs 파이토치 (Pytorch) / Python 코드를 통한 비교포 이번에 알아볼 내용은 딥러닝 모델 구현 간 파이썬에서 사용되는 오픈 소스 프레임워크 (Open Source Framework) 중 가장 많이 활용되는 텐서플로우(Tensorflow)와 파이토치(Pytorch)에 대해서 알아보겠습니다. 1. 텐서플로우(Tensorflow)와 파이토치(Pytorch) 1) 텐서플로우와 파이토치 a) 텐서플로우(Tensorflow)는 구글에서 개발한 딥러닝 프레임워크로, 초기에는 정적 계산 그래프를 사용하였으나 2.0 버전부터는 동적 계산 그래프를 지원합니다. b) 파이토치(Pytorch)는 페이스북이 개발한 오픈 소스 딥러닝 프레임워크로, 동적 계산 그래프를 사용하는 것이 특징입니다. 2) 두 오픈 소스프레임워크와 딥러닝 - 텐서플로우와 파이토치는 딥러닝 및 기계 학습 모델.. 2023. 9. 9.
[머신러닝 with Python] 결정 트리(Decision Tree) (2/2) / 과적합(Over-fitting) 이번에는 1) 결정트리(Decision Tree)의 과적합(Overfitting) 무제에 대해 2차원 데이터의 시각화를 통해 알아보겠으며, 2) 이러한 과적합(Overfitting)문제의 해결방안에 대해서 알아보겠습니다. 1. 결정트리(Decision Tree)의 과적합(Overfitting) 문제 (Python 활용) 결정트리(Decision Tree)는 직관적인 설명력을 제공해주는 효과적인 분류(회귀도 가능) 모형이지만, 과적합(Overfitting)이라는 문제 또한 가지고 있습니다. - 과적합(Overfitting)이란, 기계 학습 모델이 훈련 데이터에 너무 맞춰져서, 훈련 데이터에 대한 예측 성능은 높지만 새로운 데이터나 테스트 데이터에 대한 성능이 낮아지는 현상을 의미합니다. - 이는 모델이 훈.. 2023. 9. 8.
[머신러닝 with Python] 결정 트리(Decision Tree) (1/2) / 결정트리 시각화(Graphviz 활용) / 붓꽃(iris) 데이터 이번에 알아볼 것은 분류(Classification) 모델의 대표격인 결정트리 / 결정나무 (Decision Tree) 입니다. 1. 결정트리 / 결정나무(Decision Tree)란? - 결정트리(Decision Tree)는 머신러닝 알고리즘 중 직관적으로 이해하기 쉬운 알고리즘의 대표격입니다. - 분류(Classification) 모델의 대표격이지만, 회귀(Regression) 모델로도 활용할 수 있습니다. - 해당 모델은 스무고개와 같은 if/else 기반의 룰을 연계하여 데이터를 분류 (또는 회귀)를 합니다. - 결정트리(Decision Tree)의 주요 특징은 아래와 같습니다. 1) 계층적 구조: 결정 나무는 계층적으로 구성된 트리 모양의 구조를 가지며, 맨 위에는 "루트 노드"가 있고, 이후에.. 2023. 9. 7.
[머신러닝 with Python] 오차행렬 or 혼동행렬(Confusion Matrix) / 유방암 데이터(Breast Cancer Data) 활용하여 알아보기 이번에 알아볼 것은 지난 시간에 알아본 정확도 및 기타 분류평가지표를 도출할 수 있는 오차행렬 또는 혼동행렬이라 불리는 Confusion Matrix에 대해서 알아보겠습니다. 1. 오차행렬 / 혼동행렬 (Confusion Matrix) 이란? - Confusion Matrix(오차 행렬)은 분류 모델의 성능을 평가하기 위한 표입니다. - 주로 이진 분류(두 가지 클래스로 분류) 문제를 다룰 때 사용되지만, 다중 분류에서도 그 분류 결과를 한눈에 정리해주는 용도로 사용됩니다. - 이는, 모델이 예측한 결과와 실제 관측된 결과를 비교하는 데에 사용되며 아래 네 가지 주요 항목으로 구성됩니다. 1) True Positive(TP) : 예측값을 Positive로 예측했는데 실제 값 역시 Positive인 경우 .. 2023. 9. 5.
[머신러닝 with Python] 정확도(Accuracy)란? / 유방암(Breast Cancer) 데이터 사용 이번에 알아볼 것은 머신러닝의 분류(Classification) 문제 중 정확도(Accuracy)에 관한 것입니다. 1. 정확도(Accuracy)란? 정확도(Accuracy)란, 분류 모델의 성능을 평가하는 지표 중 하나로, 전체 예측 중 올바르게 분류된 비율을 나타냅니다. 이를 식으로 표현하면 아래와 같은데요. 즉, 정확도는 모델이 얼마나 많은 샘플을 올바르게 분류하는지를 측정하는 지표를 말합니다. 정확도의 값은 0에서 1사이의 범위를 가지며, 1에 가까울수록 올바르게 분류된 샘플의 수가 많다는 것을 의미합니다. 예를 들어, 정확도가 0.85라면 모델이 전체 데이터 중 85%를 올바르게 분류했다는 의미입니다. 2. 파이썬 코딩으로 알아보는 정확도의 의미 (유방암(Breast Cancer) 데이터 사용).. 2023. 9. 4.
반응형