Today I Learned (TIL)/Python

[TIL] 머신러닝의 기초 - 회귀분석(선형회귀 1)

신짜린 2024. 8. 9. 16:09

1. 머신러닝이란?

 기술 통계 등을 통해 집계된 정보로 의사결정을 했던 과거와 달리 데이터 수집과 처리 기술의 발전으로 대용량 데이터의 패턴을 인식하고 이를 바탕으로 예측, 분류하는 방법론을 말한다.

 머신러닝을 인간은 데이터를 기반으로 한 의사결정을 내리고 싶어 발전하게 되었다.

 머신러닝은 지도 학습(Supervised Leaning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning) 세 가지로 분류된다.

 머신러닝은 금융, 헬스케어, 이커머스, 자연어 처리 등 다양한 분야에 적용해 사용되고 있다.

구분 설명
AI 인간의 지능을 요구하는 업무를 수행하기 위한 시스템
Machine Learning 관측된 패턴을 기반으로 의사 결정을 하기 위한 알고리즘
Deep Learning 인공신경망을 이용한 머신러닝
Data science AI를 포괄하여 통계학과 컴퓨터공학을 바탕으로 발전한 융합학문
Data Analysis 데이터 집계, 통계 분석, 머신러닝을 포함한 행위

 

2. 선형회귀

 제일 왼쪽 사진에서 3개의 직선 중 적절한 것으로 보이는 선은 빨간색이다. 이것을 결정하기 위한 방법은 아래와 같다.

 ① 실제 데이터 값 - 직선의 예측 값 = Error

     1번 데이터의 실제 값은 187, 예측 값은 187로 Error 값은 0

     2번 데이터의 실제 값은 174, 예측 값은 181로 Error 값은 -7

     3번 데이터의 실제 값은 174, 예측 값은 169로 Error 값은 +5

 ⇒ 이 방식은 선분을 기준으로 위에 있는 데이터의 거리를 계산하면 양수, 아래 있는 데이터의 거리를 계산하면 음수가 나온다. 이 둘을 합치면 서로 상쇄되어 문제가 발생하므로 음수를 양수로 만들기 위해 제곱을 하는 방법이 있다.

 ② 각각 Error를 제곱하여 모두 더하기

     1번, 2번, 3번의 제곱 합은 0 + 49 + 25 = 74

 ⇒ 이 방식은 나중에 데이터를 더 추가로 수집할 경우 값이 커지는 문제가 발생하여 데이터의 갯수로 나누고 데이터를 제곱했으므로 √ (루트)를 씌우기로 했다.

 ③ 전체 에러 합에 데이터의 수로 나누기

     1번, 2번, 3번의 제곱 합은 0 + 49 + 25 = 74를 3으로 나누면 24.6

 

 선형회귀는 공통적으로 Y는 종속 변수, 결과 변수 X는 독립 변수, 원인 변수, 설명 변수라고 한다.

 통계학에서 사용하는 선형회귀 식은 왼쪽과 같고 머신러닝/딥러닝에서 사용하는 선형회귀 식은 오른쪽과 같다. 두 수식이 전달하려고 하는 것은 같다.

 

3. 회귀분석 평가 지표

- 회귀 평가지표

 MSE(Mean Squared Erorr)

- R Square

 숫자를 예측하는 회귀분석에서 선형회귀에서만 평가되는 지표이다. 전체 모형에서 회귀선으로 설명할 수 있는 정도를 뜻한다.

 

4. 선형회귀 적용

머신러닝기초_몸무게와 키.html
0.60MB
머신러닝기초_tip.html
0.62MB

 

- 자주쓰는 함수

함수 & 패키지 설명
sklearn.linear_model.LinearRegression 선형회귀 모델 클래스 패키지
coef_ 회귀 계수
intercept_ 편향(bias)
fit 데이터 학습
predict 데이터 예측