ML 분류로 사기 거래 잡아내기
이번 연습 문제에서는 간단한 Machine Learning 모델을 우리 신용카드 데이터에 적용하면 어떤 결과가 나오는지 살펴보겠습니다.
그 결과보다 더 잘할 수 있을까요? 기억해 두세요. 앞서는 사기 거래를 50건 중 22건 맞췄고, 거짓 양성 이 16건 이었습니다.
이를念頭에 두고, 이제 Logistic Regression 모델을 구현해 보겠습니다. Python의 지도학습 수업을 들으셨다면 익숙하실 거예요. 아니라면 지금 간단히 복습해 보셔도 좋아요. 걱정 마세요. Machine Learning 모델의 구조를 따라가며 차근차근 안내해 드립니다.
작업 공간에는 X와 y 변수가 준비되어 있습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 사기 탐지
연습 안내
X와y를 학습용과 테스트용으로 분할하세요. 데이터의 30%는 테스트에 사용합니다.- 학습용 데이터로 모델을 학습시키세요.
X_test에 대해model.predict를 실행해 모델이 예측한 레이블을 얻으세요.y_test와predicted를 비교하는 분류 리포트를 얻고, 제공된 혼동 행렬로 결과를 확인하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create the training and testing sets
X_train, X_test, y_train, y_test = train_test_split(____, ____, test_size=____, random_state=0)
# Fit a logistic regression model to our data
model = LogisticRegression()
model.fit(____, ____)
# Obtain model predictions
predicted = model.predict(____)
# Print the classifcation report and confusion matrix
print('Classification report:\n', classification_report(____, ____))
conf_mat = confusion_matrix(y_true=y_test, y_pred=predicted)
print('Confusion matrix:\n', conf_mat)