21년 4월 5일 

Section 2 Week 1 Linear Models


오늘의 나를 뒤돌아보며,

 

 


일차

Simple Regression (단순회귀분석)

선형모델을 배우면서 머신러닝의 기초를 다지는 시간

 

키워드

  •  

 


회귀분석 - 관찰된 자료의 변수들 사이에어 나타나는 경향성, 의존성을 수학적으로 알아보고자 하는 것.

경향성을 알고 있다면, 앞으로 발생할 일들의 예측(prediction)이 가능해진다.

 

"밤 하늘에 달무리가 진 것을 보고 다음날 날씨가 흐릴 것이다." 여러가지 가설들을 '회귀모형' 이라고 부르고, 만약에 우리가 얻은 회귀모형이 타당하다면, 독립변수와 종속변수는  '의존관계'가 있다고 얘기한다. 그리고 독립변수의 값을 토대로 종속변수의 값을 예측할 수 있다.

 

실험 또는 조사를 통해 얻은 자료의 경향성을 파악하는데 회귀분석을 이용한다.

 

회귀분석에서 독립변수가 하나일 때 '단순회귀분석(simple regression)'이라고 하고, 독립변수가 둘 이상일 때를 '다중회귀분석(multiple regression)'이라고 한다.

 

Simple Regression (단순회귀분석)

회귀분석이 연속형 변수들에 대해 독립 변수와 종속 변수 사이의 상관관계를 나타내는 것

 

회귀모형의 적합 판정

회귀 계수들의 t검정 값을 통해 회귀 계수들의 유의미한 값을 갖는지 살펴보는 방법이 있고 결정계수 r² 와 ESS(error sum of square)를 살펴보는 방법이 있다.

 

자료를 종합하여 오차가 가장 작은 일차함수식을 얻어야 하는데 자료를 잘 표현하는 β0와 β1 을 구해야 한다.

이렇게 얻은 일차함수식을 회귀선(regression line) = 단순선형회귀모델 

(오차가 0에 가까울 수록 선형회귀선이 주어진 자료를 잘 표현한다는 뜻)

 

x  : 독립변수 = 예측변수 

β0 : y 절편

β1 : 기울기

ε  : 랜덤오차(random error)

 

기준모델(Baseline Model) :

예측 모델을 구체적으로 만들기 전에 가장 간단하면서도 직관적이면서 최소한의 성능을 나타내는 기준이 되는 모델

'분류'에서는 타겟의 최빈값

'회귀'에서는 타겟의 평균값

 

회귀분석에서 중요한 개념은 예측값과 잔차(residual) 

예측값은 만들어진 모델이 추정하는 값이고, 잔차는 예측값과 관측값 차이 

 

회귀선은 잔차 제곱들의 합인 RSS(residual sum of squares)를 최소화 하는 직선

 

 

주로 머신러닝에서 

독립변수는 특성(feature) 

종속변수를 타겟(Target) 라고 부른다 함.

 

1
2
# mean_absolute_error(MAE), error에 절대값을 취한 후 평균을 계산합니다.
mean_absolute_error = errors.abs().mean()
cs

 

1
2
3
4
5
6
# 계수(coefficient)
model.coef_
 
 
# 절편(intercept)
model.intercept_
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from sklearn.linear_model import LinearRegression
 
## 예측모델 인스턴스를 만듭니다
model = LinearRegression()
 
## X 특성들의 테이블과, y 타겟 벡터를 만듭니다
 
feature = ['GrLivArea']
target = ['SalePrice']
X_train = df[feature]
y_train = df[target]
 
## 모델을 학습(fit)합니다
model.fit(X_train, y_train)
 
## 새로운 데이터 한 샘플을 선택해 학습한 모델을 통해 예측해 봅니다
X_test = [[4000]]
y_pred = model.predict(X_test)
 
print(f'{X_test[0][0]} sqft GrLivArea를 가지는 주택의 예상 가격은 ${int(y_pred)} 입니다.')
cs

m.blog.naver.com/mykepzzang/220957463333

'개발 관련자료 > ML, DL' 카테고리의 다른 글

Ridge Regression  (0) 2021.04.24
Multiple Regression  (0) 2021.04.22
Clustering  (0) 2021.04.21
Dimension Reduction (차원축소) #아직 이해를 못해서 개념 정리 다시 해야함  (0) 2021.04.21
선형대수(Linear Algebra)  (0) 2021.04.01

+ Recent posts