- 코딩테스트
- 부스트코스
- 데이터 분석 기반 에너지 운영 관리자 양성 및 취업과정
- AI 플랫폼을 활용한 데이터 분석
- 데이터베이스
- 빅데이터분석기사
- 빅분기
- Ai
- r
- [멀티잇]데이터 시각화&분석 취업캠프(Python)
- 파이썬
- python
- 코딩테스트 python
- 오라클
- 기초다지기
- 프로그래머스
- 이기적
- 정보처리기사
- Oracle
- 빅데이터 분석 기반 에너지 운영 관리자 양성 및 취업과정
- boostcoures
- PY4E
- boostcourse
- 네이버부스트캠프
- 인공지능기초다지기
- 이것이 취업을 위한 코딩테스트다 with 파이썬
- DB
- SQL
- Machine Learning
- 난생처음 R코딩&데이터 분석 저서
- Today
- Total
매일공부
[Machine Learning] Sampling 본문
# 특성들을 StandardScaler로 표준화
Unbalanced data : 불균형 데이터
- 정상 범주의 관측치 수와 이상 범주의 관측치 수가 현저히 차이나는 데이터 ex) 암 발생 환자, 신용카드 사기 거래
- 이상을 정확히 분류하는 것이 더 중요
- 불균형한 데이터 세트는 이상 데이터를 정확히 찾아내지 못할 수 있다는 문제점이 존재
1. Under sampling
- 다수 범주를 줄여서 소수 범주와 비슷하게 맞춘다.
- 다수 범주 관측치 제거로 계산 시간 감소
- 클래스 오버랩 감소 가능
- 데이터 제거로 인한 정보 손실 발생 가능성 증가
Random undersampling :다수 범주에서 무작위로 샘플링
- from imblearn.under_sampling import RandomUnderSampler
: 다수 범주에서 무작위로 샘플링 하는 것
- from imblearn.under_sampling import TomekLinks
: 두 범주 사이를 탐지하고 정리를 통해 부정확한 분류경계선을 방지하는 방법
: Tomek Link (선택한 두 데이터 간의 링크)
CNN (condensed nearest neighbor)
- from imblearn.under_sampling import CondensedNearestNeighbour
: 소수 범주에 속하는 데이터 전체와 다수 범주에 속하는 데이터 중 임의로 선택한 데이터 한 개 (A)로 구성된 서브 데이터를 생성
OSS (one-sided selection) ##
- from imblearn.under_sampling import OneSidedSelection
: Tomek links + CNN
2. Over sampling
- 소수 범주 관측치를 증폭시켜 다수 범주의 관측치와 비슷하게 만든다.
- 정보손실이 없음
- under sampling에 비해 높은 정확도
- 과적합 가능성 존재
- 계산 시간 증가
- noise 또는 outlier에 민감함
- from sklearn.utils import resample
- from imblearn.over_sampling import RandomOverSampler
: 소수 범주의 데이터는 무작위로 복제
SMOTE(Synthetic Minority Over-sampling Technique) ##
- from imblearn.over_sampling import SMOTE
: resample한 경우 소수 범주에 대한 과적합 발생을 보완하기 위한 방법으로 소수 범주에서 가상의 데이터를 생성
- Borderline SMOTE
: Borderline 부분에 대해서만 SMOTE 방식을 사용하는 것
: Danger 관측치에 대해서만 SMOTE 적용
ADASYN (adpative synthetic sampling approach)
- from imblearn.over_sampling import ADASYN
: SMOTE 방법과 비슷하지만 샘플링 개수를 데이터 위치에 따라 다르게 설정하는 것이 차이점
: 소수 범주 데이터 주변의 다수 범주 데이터의 수에 따라 유동적으로 가상 데이터 생성 가능
GAN (Generative Adversarial Nets)
: 생성자와 구분자로 구성되어 있고 모델은 딥러닝을 사용하는 최신 오버 샘플링 기법
: 무작위로 노이즈를 생성하고 생성자를 통해 가짜 샘플을 만들고 피드백&판별 과정을 거침
: 생성자와 구분자가 서로 경쟁하며 업데이트되고 결국 가짜 샘플은 진짜 샘플과 매우 유사한 형태로 생성되게 됨
* 내용참고&출처 : 태그의 수업을 복습 목적으로 정리한 내용입니다.
'IT > ML' 카테고리의 다른 글
[Machine Learning] 비계층적 군집분석; K-means, DBSCAN (0) | 2022.11.18 |
---|---|
[Machine Learning] 군집분석; Hierarchical clustering (0) | 2022.11.17 |
[sklearn] kNN(k-Nearest Neighbors) (0) | 2022.11.11 |
[Machine Learning] Boost(AdaBoost, GBM, XGBoost, LightGBM, Catboost, Stacking) (0) | 2022.11.11 |
[sklearn] Naïve Bayes 나이브 베이즈 (0) | 2022.11.10 |