구매한다/안한다 <- 있으면 지도학습, 없으면 비지도학습
정답 == label == target
Nan/Null 이면 정답이 없는 것
분류로 할 수 있는 일?
-> 대체로 분류하는 것
회귀로 할 수 있는 일?
-> 대체로 예측하는 것
회귀 알고리즘 중에 분류에 사용할 수 있는 알고리즘?
-> 오지스틱 회귀
머신러닝 과정 -지도학습
Fit -> 학습
Predict -> 예측 (문제만 넣어주고 정답은 넣어주지 않음)
evaluate -> 평가
주요 Features
max_depth: 트리의 깊이 결정
max_features: 피처를 얼마나 사용할 것인지
random_state: 실행했을 때 같은 결과가 나오게
feature_names: 그래프에 분류에 사용된 특성 이름을 표시
filled: 그래프의 색상을 채움
수치 자료와 범주 자료 모두에 적용할 수 있다. 영문약자로?
-> 분류 및 회귀 트리(Classification And Regression Tree, CART)
from sklearn.tree import DecisionTreeClassifier
-> 트리 분류 라이브러리
gini 계수(불순도)
-> 0이 되면 멈춤 => 다른 값이 섞여있지 않음
-> 최악은 0.5
ex) 뭐 먹을거야? 아무거나 -> 예측하기 어렵기 때문에 최악
from sklearn.tree import plot_tree
-> 트리 시각화 라이브러리
데이터.featureimportances : 피처의 중요도 추출
(test == predict).mean() : 정확도(Accuracy) 측정
from sklearn.metrics import accuracy_score
-> 미리 구현된 알고리즘 가져와서 정확도 측정
범주형 변수로 변환하는 이유?
-> 머신러닝 알고리즘에 힌트를 줄수도 있고 오버피팅을 방지할 수도 있음
(이런 기법도 있다 정도로만 이해하면 됨)
결측치를 채우는 이유?
-> 결측치가 있는 데이터는 인공지능 모델에 학습시킬 수 없음