결정 트리 모델의 시각화 Graphviz 패키지: 그래프 기반의 dot파일로 기술된 다양한 이미지를 쉽게 시각화할 수 있는 패키지(파이썬으로 개발 X >> 윈도우에 설치 후 파이썬 Wrapper 모듈 별도 설치 필요) 사이킷런은 Graphviz 패키지와 쉽게 인터페이스할 수 있도록 export_graphviz() 제공 학습이 완료된 Estimator, 피처 이름 리스트, 레이블 이름 리스트를 입력하면 결정 트리 규칙을 시각화해줌 https://graphviz.org/download iris 데이터셋을 결정트리를 이용해 학습한 뒤 어떻게 규칙이 만들어지는지 확인해보자 In [2]: from sklearn.tree import DecisionTreeClassifier from sklearn.datasets ..
분류 classification의 개요 지도학습은 명시적인 정답(레이블)이 있는 데이터가 주어진 상태에서 학습하는 머신러닝 방식 대표적인 유형인 '분류'는 학습데이터로 주어진 데이터의 피처와 레이블값을 머신러닝 알고리즘으로 학습해 모델을 생성하고, 새로운 모델에 새로운 데이터값이 주어졌을 때 미지의 레이블 값을 예측하는 것 ex) 베이즈 통계와 생성 모델에 기반한 나이브 베이즈, 독립변수와 종속변수의 선형관계성에 기반한 로지스틱 회귀, 개별 클래스 간의 최대 분류 마진을 효과적으로 찾아주는 서포트 벡터 머신 등.. 2. 앙상블은 분류에서 가장 각광받는 방법 중 하나임. 정형데이터의 예측 분석에서는 앙상블이 매우 높은 예측 성능을 보임 일반적으로 배깅(bagging)과 부스팅(boosting)으로 나뉨 전..
피마 인디언 당뇨병 예측 Pima Indian Diabetes 데이터셋을 이용해 당뇨병 여부를 판단하는 머신러닝 예측 모델 만들고 평가 지표 적용하기 데이터셋은 캐글에서 다운로드: https://www.kaggle.com/datasets/uciml/pima-indians-diabetes-database Pregnancies: 임신 횟수 Glucose: 포도당 부하 검사 수치 BloodPressure: 혈압 SkinThickness: 팔 삼두근 뒤쪽 피하지방 측정값 Insulin: 혈청 인슐린 BMI: 체질량지수 DiabetesPedigreeFunction: 당뇨 내력 가중치값 Age: 나이 Outcome: 클래스 결정값(0 또는 1) Pima Indians Diabetes Database Predict ..
ROC곡선과 AUC ROC곡선과 이에 기반한 AUC스코어는 이진 분류의 예측 성능 측정에서 중요하게 사용되는 지표 ROC곡선은 FPR(False Positive Rate, X축)이 변할 때, TPR(True Positive Rate, 재현율, Y축)이 어떻게 변하는가를 곡선 형태로 나타냄 특이도(TNR, True Negative Rate): 재현율(민감도)에 대응하는 지표, 실제값 negative가 정확히 예측되어야 하는 수준을 나타냄 ex) 질병이 없는 건강한 사람은 질병이 없는 음성으로 판정 ㄴ TNR = TN / (FP + TN) FPR = FP / (FP + TN) 1 - TNR ROC 곡선이 가운데 직선에 가까울수록 성능이 떨어지고, 멀어질수록 성능이 뛰어난 것 ROC곡선은 FPR을 0부터 1까..
F1 스코어 F1스코어는 정밀도와 재현율을 결합한 지표 정밀도와 재현율이 어느 한 쪽으로 치우치지 않는 수치를 나타낼 때 상대적으로 높은 값을 가짐 사이킷런은 f1_score() API 제공 In [3]: import pandas as pd titanic_df = pd.read_csv('./titanic_train.csv') from sklearn.preprocessing import LabelEncoder def fillna(df): df['Age'].fillna(df['Age'].mean(), inplace=True) df['Cabin'].fillna('N', inplace=True) df['Embarked'].fillna('N', inplace=True) df['Fare'].fillna(0, inp..
정밀도와 재현율 Precision and Recall 정밀도와 재현율은 Positive 데이터셋의 예측 성능에 초점을 맞춘 평가 지표 정밀도 = TP / (FP + TP) 예측을 Positive로 한 대상 중에 예측과 실제값이 Positive로 일치한 데이터의 비율 재현율(민감도) = TP / (FN + TP) 실제값이 Positive인 대상 중에 예측과 실제값이 Positive로 일치한 데이터의 비율 재현율이 중요 지표인 경우 실제 positive 양성 데이터를 negative로 잘못 판단하게 되면 업무상 큰 영향이 발생하는 경우 ex) 암 판단 모델: 실제 positive(양성)인 암 환자를 negative(음성)으로 판단하면 심각 ex) 보험 사기같은 금융 사기 모델: 실제 금융 거래 사기(posi..