[머신러닝 정리]
머신러닝이란?
- 데이터에서 지식을 추출하는 작업
- 데이터에 모델을 맞춘다 (fit).
- 규칙을 프로그래밍하지 않아도 자동으로 데이터에서 규칙을 학습하는 알고리즘을 연구하는 분야이다.
- 인공지능에서 지능을 구현하기 위한 소프트웨어를 담당하는 분야이다.
- 규칙 기반 전문가 시스템(rule-based-expert system)과 비교해보기
if fish_length >= 30:
print("도미")
규칙을 프로그래밍
하는 방법에서는 절대적으로 바뀌지 않는 기준을 정하기 어렵다.
반면 머신러닝
은 스스로 기준을 찾고, 이 기준을 토대로 판별도 할 수 있다.
머신러닝 종류

[출처 : https://www.datasciencecentral.com/machine-learning-summarized-in-one-picture/]
구분 | 범주형 | 수치형 |
---|
지도학습 (Supervised learning) | 분류 (Classification) | 회귀 (regression) |
예시 | 스팸 메일 여부 | 자전거 대여량 예측 |
비지도학습 (Unsupervised learning) | 군집 (Clustering) | 비지도 변환 (Unsupervised Transformation) |
예시 | 같은 사람의 얼굴 이미지들을 그룹으로 묶기 | 시각화를 위해 데이터셋을 2차원으로 변경 |
| | 소셜 미디어 토론 주제 추적 |
- 지도학습
- 정해진 답이 있음
- 입력과 출력 샘플 데이터가 있고, 주어진 입력으로부터 출력을 예측하고자할 때 사용 (훈련, 테스트)
(1) 회귀(regression) : 연속적인 숫자 (부동소수점수)를 예측하는 것
(2) 분류(classification) : 미리 정의된 가능성 있는 여러 class lable 중 하나를 예측하는 것
- 이진 분류(binary classification)
- 다중 분류(multiclass classification)
- 비지도학습
- 정해진 답이 없음
- 알고 있는 출력값이나 정보 없이 학습 알고리즘을 가르쳐야 하는 머신러닝 종류
(1) 군집(clustering) : 데이터를 비슷한 것끼리 그룹으로 묶는 것
(2) 비지도 변환(unsupervised transformation) : 데이터를 새롭게 표현하여 원래 데이터보다 사람 또는 머신러닝 알고리즘이 쉽게 해석할 수 있도록 만드는 알고리즘
용어 정리
- class : 분류에서 여러 개의 종류를 의미 (파이썬의 class와 다른 개념이다)
- training : 모델에 데이터를 전달하여 규칙을 학습하는 과정 (사이킷런에서 fit() 메서드가 training 역할을 한다.)
- fit() : 처음 두 매개변수로 훈련에 사용할 특성과 정답 데이터를 전달함.
- model : 머신러닝 알고리즘을 수식 등으로 구체화해서 표현한 것
- feature : 데이터를 표현하는 하나의 성질
지도 학습 대표 알고리즘
1. Tree 알고리즘
(1) decision tree (결정 트리, 의사결정나무)
- 대표적인 분류 기법의 하나이며, 목표 변수의 범주를 기준으로 동일한 범주의 데이터들끼리 분류하는 규칙을 반복적으로 만들어가는 방법
- Root Node : 최상위에 있는 Node가 분류가 시작되는 곳 (전체 데이터가 속해 있음)
- Parent Node(상위 노드)에서 Children Node(하위 노드)로 분류가 진행되어 나가며, 분류 규칙에 따라 전체 데이터를 점점 더 작은 집합으로 나누어 감
- Leaf Node(말단 노드) : 분류의 아래에 위치하고 있으며, 더 이상 분류되지 않는 노드
(2) tree ensemble (트리 앙상블)
2. Regression 알고리즘
(1) 선형 회귀
(2) 다중 회귀
비지도 학습 대표 알고리즘
1. K-means 알고리즘
데이터 표현과 특성 처리
1. 범주형 변수
one-hot-encoding
- 범주형 변수를 0 또는 1 값을 가진 하나 이상의 새로운 특성으로 바꾸는 것
모델 평가와 성능 향상
1. 교차 검증
2. 그리드 서치
3. 평가 지표와 측정
[자료 출처]
출처 : 혼자 공부하는 머신러닝+딥러닝 | 박해선 저
출처 : 파이썬 라이브러리를 활용한 머신러닝
출처 : [DATA 한입] 파이썬을 활용한 경영데이터 분석 | 이홍주 저