머신러닝의 기본 개념에 대해 알아보는 시간을 가졌다.
머신러닝은 기계학습을 뜻하고, 정답이 있냐 없냐에 따라 지도학습과 비지도 학습으로 나뉨.
지도학습 : 분류, 회귀
비지도학습 : 군집화, 변환, 연관
Supervised learning(지도학습)
큰흐름
Fit : 학습
Predict : 예측
Evaluate : 평가
unsupervised learning(비지도학습)
여기서 지도학습을 보면 분류는 예측값이 카테고리와 같은 범주형이고, 회귀는 연속형 양적 자료이다.
머신러닝의 학습과 예측 전체 과정
Scikit learn
장점:
간단하고 효율
누구나 접근 가능하고 다양한 맥락에서 사용가능
오픈 소스, 상업적으로 사용 가능
단점 :
딥러닝 및 강화학습을 지원하지 않음
특징
다른 많은 python 라이브러리와 통합이 잘 됨
머신러닝 대표 알고리즘
DecisionTree
결정에 다다르기 위해 스무고개와 같은 예/아니오 질문을 이어나가면서 학습한다
각 네모칸을 트리의 노드(node)
마지막 노드는 리프 노드(leaf node)
에지(edge)는 질문의 답과 다음 질문을 연결한다.
특징 : 내부적인 기준을 통해 참/거짓 판별 후 노드가 뻗어나가는 형태
장점 :
시각화하기 편하고, 직관적으로 이해가 가능, 훈련된 과정을 명확하게 알 수 있음.
데이터 스케일에 구애받지 않음. 따라서 전처리하는 과정이 필요없음.
단점 :
과대적합 문제가 발생할 수 있음
불러오기 :
from sklearn.tree import DecisionTreeClassifier
k-최근접 이웃 회귀
주변의 가장 가까운 K개의 샘플을 통해 값을 예측하는 방식이다. 예를 들어 가장 간단한 방식으로는 K개 샘플의 평균을 이용할 수 있다.
예측하려는 샘플에 가장 가까운 샘플 k개를 선택한다. 그 다음이 샘플들의 클래스를 확인하여다수 클래스를 새로운 샘플의 클래스로 예측한다. 쉽게 말하면 C 주변에 A 가 1개, B 가 2개 일경우 C == B 다 라는 공식을 이용한다는 말이다.
특징 :
이웃 샘플들의 값을 토대로 타깃값을 예측
장점 :
직관적 추론이 가능하며, 극단적인 값의 영향을 적게 받음
단점 :
테스트하고자 하는 샘플에 근접한 훈련 데이터가 없는 경우 즉, 이상치 샘플을 제대로 예측하기 힘듬.