
306
3부 텐서플로와 케라스를 사용한 비지도 학습 모델
9.3
비지도 학습 모델
이제 비지도 학습을 사용해 사기 탐지 솔루션을 구축하겠습니다. 구체적으로
40
개 노드의 은
닉층과 드롭아웃
2
%, 선형 활성화 함수를 사용하는 희소
2
-계층 과대완전 오토인코더를 구축
할 겁니다.
이번에는 사기 거래 수를
오버샘플링
oversampling
해 훈련셋을 조정하겠습니다. 오버샘플링은 주어
진 데이터셋의 클래스 분포를 조정하는 데 사용하는 기술입니다. 우리가 훈련시키는 오토인코
더가 정상/비사기 거래와 비정상/사기 거래를 더욱 쉽게 구분할 수 있도록 데이터셋에 사기성
거래를 더 많이 추가하는 겁니다.
이전 작업에서 우리는 훈련셋에 존재하는 사기 거래
90
%를 삭제했습니다. 그 결과 훈련셋에
남은 사기 거래 건수는 단
33
건입니다. 우리는 이 사기 거래
33
건을
100
배 복제한 다음 훈련
셋에 추가할 겁니다. 또한 오버샘플링되지 않은 훈련셋의 복사본을 보관해 나머지 머신러닝 파
이프 라인에서 사용할 겁니다.
테스트셋은 별도로 건드리지 않을 겁니다. 오버샘플링은 훈련셋에만 적용합니다.
oversampl ultiplier = 100
X_train_original = X_train.copy()
y_train_original = y_train.copy()
X_test_original = X_test ...