Generalization (일반화)
Overfitting (과대적합)
Underfitting (과소적합)
모델이 학습 데이터의 패턴을 충분히 학습하지 못하여, 학습 데이터와 새로운 데이터에서 모두 성능이 저조한 상태
모델이 데이터의 복잡성을 충분히 파악하지 못하고 간단한 모델로 너무 단순하게 표현되는 경우
train, val 정확도 모두 낮음
모델의 성능에 영향을 끼치는 파라미터 값으로 모델 생성시 사람이 직접 지정해 주는 값(파라미터)
하이퍼파라미터 튜닝 : 모델의 성능을 가장 높일 수 있는 하이퍼파라미터를 찾는 작업
val 값이 가장 좋으면서, train 값과 val 값의 차이가 가장 작은 값
원인:
해결방법:
from sklearn.tree import export_graphviz
from graphviz import Source
src = export_graphviz(tree_1, # 모델
feature_names=data['feature_names'],
class_names=data['target_names'], # class 추가
rounded=True, # 모서리 원형으로
filled=True # 배경색
)
graph = Source(src) # graph 만들어주는
graph
💡 -------현재 노드를 분리하기 위한 질문---------
worst concave points <= 106.1
------------현재 노드(박스)의 상태-------------
gini = 0.081 # 클래스별로 섞은 비율을 점수화 → 불순도율(gini: 0 ~ 0.5)
samples = 259 # 총 데이터 개수
value = [11, 248] # 클래스별 데이터 개수 (0:11, 1: 248)
class = benign # 다수 클래스의 class name
max_depth
: 트리의 최대 깊이max_leaf_nodes
: 리프노드 개수min_samples_leaf
: leaf 노드가 되기위한 최소 샘플수