본문 바로가기
반응형

전체 글107

[불균형데이터처리] 오버샘플링(Oversampling) / SMOTE 이번에 알아볼 것은 불균형 데이터(Imbalanced Data) 처리에 대해서 알아보겠습니다. 불균형 데이터는 모델 학습에 좋지 않은 영향을 미치게되어 그 모델의 신뢰성을 떨어뜨리곤 하는데요. 그렇다면, 불균형 데이터가 가지고 있는 문제는 무엇이며, 이를 해결하기 위한 방법 중 오버샘플링에 대해서 알아보겠습니다. 추가적으로, 오버샘플링 기법 중 많이 활용되는 SMOTE(Synthetic Miniority Oversampling Technique)에 대해 알아보겠습니다. 1. 불균형 데이터와 불균형 데이터의 문제점 - 불균형 데이터(Imbalanced Data)란, 불균형한 클래스 분포를 가진 데이터셋을 말합니다. - 불균형한 클래스 분포란, 하나의 클래스가 다른 클래스보다 훨씬 더 많은 샘플을 가지고 있.. 2023. 9. 16.
[머신러닝 with Python] Light GBM 실습 / 신용카드 사기 검출 데이터(Credit Card Fraud) 활용 이번 포스팅에서는 지난번에 알아봤던 Light GBM을 활용해서 실습을 진행해보겠습니다. 지난 포스팅에서는 작은 수의 데이터를 활용했기에 Light GBM의 성능향상을 크게 확인하지는 못했는데요. 이번에는 좀 더 큰 데이터를 활용해서 알아보겠습니다. 이번에 사용할 데이터는 Credit Card Fraud Detection (신용카드 사기 검출) 데이터 셋입니다. 1. Credit Card Fraud Detection 데이터 설명 - 해당 데이터는 2013년 9월 유럽 카드 소지자가 신용 카드로 거래한 내역을 포함한 데이터 입니다. - 이 데이터세트는 이틀 동안 발생한 거래를 보여주며, 총 284,807건의 거래 중 492건의 사기 사건 발생을 포함하고 있습니다. * 이는 전체 거래 중 0.172%의 사기.. 2023. 9. 15.
[머신러닝 with Python] 앙상블(Ensemble) 학습 (5) / LightGBM / 유방암(Breast Cancer) 데이터 활용 이번에 알아볼 앙상블 모델은 Light GBM입니다. Light GBM은 XGBoost가 나온 후 등장한 모델로, XGBoost의 장점은 살리고 단점은 보완된 모습이라고 볼 수 있는데요. 그렇지만, 무조건 XGBoost보다 좋다고 할 수는 없으니, 자세한 내용들을 한번 알아봅시다 1. Light GBM이란? - Light GBM이란, Light Gradient Boosting Machine의 약자로 이 역시 GBM(Gradient Boosting Machine)에 기반을 두고 있는 모델입니다. * GBM이란, Boosting 방식 중 약한 학습기를 결합해나가는 방식을 Gradient를 이용해서 모델을 개선하는 방식.(Ada Boost는 데이터에 중요한 데이터에 가중치(Weight)를 주는 방식이라는 점에.. 2023. 9. 14.
[머신러닝 with Python] 앙상블(Ensemble) 학습 (4) / XGBoost 이번에 알아볼 앙상블 학습은 부스팅(Boosting) 기법 중 대표적인 방법인 XGBoost 입니다. XGBoost는 트리 기반의 앙상블 학습에서 가장 각광받고 있는 알고리즘 중 하나입니다. 유명한 캐글 경연 대회(Kaggle Contest)에서 상위를 차지한 많은 데이터 과학자가 XGBoost를 이용하면서 널리 알려졌습니다. 이는, 일반적으로 다른 머신러닝보다 뛰어난 예측 성능을 가지고 있는데요 1. XGBoost란? - XGBoost는 eXtreme Gradient Boosting의 약어로, 머신러닝과 데이터 분석에서 널리 사용되는 강력한 앙상블 학습 방법 중 하나입니다. - 특히, 트리 기반의 앙상블 학습 방법 중 하나로서 그 성능과 효율성으로 유명합니다. - XGBoost는 지난 포스팅에서 알아본.. 2023. 9. 13.
[머신러닝 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.
반응형