네 가지 범주 평가하기
혼동 행렬은 네 가지 결과 범주(진양성 TP, 위양성 FP, 진음성 TN, 위음성 FN)를 확인하는 가장 직관적인 도구예요. 이 연습 문제에서는 sklearn의 표준 결정 트리 분류기 DecisionTreeClassifier()를 샘플 클릭 데이터에 적용하고, 이 네 가지 범주별 결과 개수를 계산해 볼 거예요.
작업 공간에서 pandas 모듈은 pd로 제공되며, 샘플 DataFrame은 df에 로드되어 있어요. 특징 변수는 X, 타깃 변수는 y에 준비되어 있어요. 추가로, sklearn.tree의 DecisionTreeClassifier를 사용할 수 있어요.
이 연습은 강의의 일부입니다
Python으로 Machine Learning을 활용한 CTR 예측
연습 안내
X와y에 대해 학습용/테스트용 분할을 얻으세요.- 결정 트리 분류기를 정의하고 모델을 학습한 뒤 예측값
y_pred를 생성하세요. - 혼동 행렬을 사용해 각 결과 범주의 개수를 구하세요. 여기서
1은 양성(클릭),0은 음성(비클릭)을 의미해요. - 예를 들어, 진음성은
[0,0], 진양성은[1,1]위치에 해당해요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Set up classifier using training data to predict test data
X_train, X_test, y_train, y_test = ____(
X, y, test_size = .2, random_state = 0)
clf = ____
y_pred = clf.____(X_train, y_train).____(X_test)
# Define confusion matrix and four categories
conf_matrix = ____(y_test, y_pred)
tn = conf_matrix[____][____]
fp = conf_matrix[____][____]
fn = conf_matrix[____][____]
tp = conf_matrix[____][____]
print("TN: %s, FP: %s, FN: %s, TP: %s" %(tn, fp, fn, tp))