다수 클래스 줄이기
데이터셋에서 사기 사례 수를 늘리는 대신, 무작위로 정상 거래를 제거하여 데이터셋의 균형을 맞출 수 있습니다. creditcard 데이터셋에서 다수 클래스(Class = 0)를 언더샘플링해 보겠습니다. 콘솔에서 table()을 사용하면 데이터셋에 사기 거래와 정상 거래가 각각 몇 건인지 확인할 수 있어요.
이 연습은 강의의 일부입니다
R로 배우는 사기 탐지
연습 안내
- ROSE 라이브러리를 불러오세요.
- 언더샘플링된 데이터셋에서 사기 거래가 40%가 되도록 필요한 전체 사례 수
n_new를 지정하세요. 이를 위해 사기 사례 수를 언더샘플링 후 원하는 사기 비율로 나누면 됩니다. - 데이터셋을 언더샘플링하세요.
- 언더샘플링된 데이터셋의 클래스 균형을
table()과prop.table()로 확인하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Load ROSE
___
# Calculate the required number of cases in the over-sampled dataset
n_new <- ___
# Under-sample
undersampling_result <- ___(formula = ___, data = ___,
___ = ___, ___ = ___, seed = 2018)
# Verify the Class-balance of the under-sampled dataset
undersampled_credit <- undersampling_result$___
___(___(___))