머신 러닝의 기본 과정
데이터의 수집 -> 학습할 자료를 수집 (DataBase, Open API, 크롤링)
데이터 전처리 -> 결측치, 이상치, 정규화등
모델 선택 -> 회귀, 분류, 트리, 신경망 등 데이터에 맞게 선택
훈련 -> Train 데이터를 이용한 학습 ( 기기가 스스로 규칙 발견 )
평가 -> 새로운 데이터를 이용하여 성능을 검증
예측 -> 실제 상황에서 적용
머신 러닝의 종류
지도 학습 : 정답이 있는 데이터를 학습, 회귀·분류
비지도 학습 : 정답이 없는 데이터에서 패턴을 찾음, 군집화 · 이상치 감지 · 차원 축소
강화 학습 : 보상을 통해 행동을 학습, 로봇 제어 · 게임 플레이
회귀 분석의 성능 평가 지표
MAE
- 실제의 값과 예측 값의 차이를 절댓값으로 변환하여 평균을 구한 값
- 에러의 크기가 그대로 반영
MSE
- 실제의 값과 예측의 값의 차이에 제곱을 하여 평균을 구한 값
- 실젯값과 예측값의 면적의 합을 의미
- 이상치에 민감
RMSE
- MSE 값에 루트를 씌운 값
- 에러에 제곱을 하면 에러가 클수록 그에 따른 가중치가 높이 반영
- 손실이 기하급수적으로 증가하는 상황에서 실제 오류의 평균보다 값이 커지는 현상을 상쇄하기 위해 사용

분류 분석의 성능 평가 지표
혼동 행렬 : 이진 분류에서 예측 오류가 얼마인가 어떠한 유형의 오류가 발생하는지를 나타내는 지표
- TN : 예측이 부정, 실제가 부정 (정답)
- FP : 예측이 긍정, 실제가 부정 (오답)
- FN : 예측이 부정, 실제가 긍정 (오답)
- TP : 예측이 긍정, 실제가 긍정 (정답)
정확도 : 실제의 데이터에서 예측 데이터가 얼마나 같은가 판단
- TN + TP / TN + TP + FP + FN
정밀도 : 긍정으로 예측한 것들 중 실제가 긍정인 비율
- TP / TP + FP
재현율 : 실제 긍정인 것들 중 예측이 긍정인 경우
- TP / TP + FN
F1 score : 정밀도와 재현율을 결합한 분류 성능 지표
- 정밀도와 재현율 어느 한쪽으로 치우치지 않고 적절하게 조화를 이룬 경우 높은 수치를 나타냄
- 2 * TP / 2 * TP + FP + FN
단순 선형 회귀
- 단순 선형 회귀 모델
- 입력의 특성에 따라 선형 함수를 만들어서 예측을 하는 알고리즘
- 독립 변수가 하나인 경우 특정 직선을 학습하는 방법
y = wx + b
- x : 입력 데이터 (독립 변수)
- y : 예측하려는 정답 (종속 변수)
- w : 가중치
- b : 직선의 y절편. X가 0인 경우 기본값
다중 회귀
- 다중의 독립 변수가 존재하는 회귀 분석
- 여러 개의 독립 변수가 복합적으로 종속 변수에 영향을 미치는 경우 다중 회귀 모형으로 예측

- 모델이 복잡해지면 (피쳐 (col) 의 개수가 많은 경우) 과대적합이 발생할 가능성이 있기 때문에 이를 방지하기 위해 다양한 규제 방식이 존재하고 이러한 규제 방식에 따른 모델들이 존재
- 모델에서 규제 방식에 따라 가중치(규칙)의 제한
- 규제를 강하게 거는 경우 가중치의 절대치가 줄어들고 0에 가까워짐
- 가중치가 0이 되는 피쳐들이 생성(해당 피쳐는 예측 값에 영향X)
LinearRegression
- 선형 회귀 모델
- 데이터 사이의 관계를 직선으로 표현해서 예측을 하는 방법
- 입력 데이터와 결과 데이터 사이에 일정한 비율로 변하는 관계가 있다고 가정
- 해당 관계를 가장 설명을 잘 하는 직선을 찾는 과정
- ex) 공부의 시간이 늘어나는 경우 점수가 일정하게 증가할 것이다.
Decision Tree
- 나무 구조로 도표화하여 분류(Classification)와 예측(Prediction)을 수행하는 분석 방법
- 분석 목적에 따라 적절한 분리 규칙(Splitting rule)을 찾아 나무를 성장 시키는 과정
- 목표 변수 (y) 가 범주형 변수인 경우 불순도를 측정하여 불순도가 적은 방향으로 자식 가지를 형성
- 의사결정나무에서 불순도를 측정할 수 있는 지표로는 지니 지수, 엔트로피 지수, 카이제곱 통계량

- c : 분류해야 할 종속변수의 개수 (예: 합격/불합격이면 2)
- p_i : 특정 구역 안에 i번째 정답이 차지하는 비율