[데이터사이언스] Diary-(14)

Pream·2022년 2월 23일
0

2월 23일 수

*Wrap up :
1. 회귀모델을 만들 때 기준모델을 어떻게 정의하나요? 이 과정이 왜 중요할까요?
타겟의 평균값을 기준으로 한다. 기준모델의 오차를 파악함으로써 앞으로 만들 모델의 성능평가를 비교하기 위해 사용된다.
2. 회귀분석이 무엇인지 간단하게 설명해 보세요
답이 있는 데이터를 학습한 후 숫자로 된 예측값을 구하기 위한 방법.

1.R2R^2 값이 1에 가깝다는 것은 무엇을 의미하나요?
-> 실제값과 예측값의 거리가 매우 가까움을 뜻함.

2.MSE 구하는 방법을 잘 살펴 보세요
-> np.std( (예측데이터 - 실제데이터)**2 / n -2 )

3.왜 훈련/테스트 데이터를 나누는 것일까요?
-> 데이터의 패턴을 학습시킨후 모델의 성능을 검증할때 모델이 한번도 보지 못했던 데이터에 대해 평가를 해봐야 하기 때문.

회귀분석 평가지표 :
질문1.평가지표는 뭐가 있지?
질문2. 각각 어느상황에서 사용하지?

1. MAE : 잔차의 절대값에 대한 평균이다.

1. 장점: 지표가 직관적이며 예측변수와 단위가 같다.

	ex) 기온을 예측하는 모델의 MAE가 3이라면 이 모델은 평균적으로 3도 정도를 잘못 예측하는 것.

2. 단점:

단점1 .잔차에 절대값을 씌우므로 실제값에 과대추정인지 과소추정인지 모른다.

    ex) 집값 예측모델의 MAE가 2000이라면 2000보다 높게 예측하는지 낮게 예측하는지 모른다.
    

단점2. 스케일에 의존적이다.

	ex) 삼성바이오로직스 1주가 800000원, 삼성전자 1주가 7만원일때 가격을 예측하는 모델의 MAE가 10000 일경우라고 하자. 두 주가의 MAE는 같지만 둘에 미치는 영향이 다르다.(1만이 80만에 미치는영향과 7만에 미치는 영향이 다르다.)

2.MSE: 잔차의 제곱에 대한 평균이다.

1.장점: 지표가 직관적이다

2.단점:

1.예측변수와 단위가 다르다
ex)기온을 예측하는 모델의 MAE가 3이라면 이 모델은 평균적으로 1.5도 정도를 잘못 예측하는 것.

2.잔차를 제곱하기 때문에 이상치에 민감하다.

3.잔차를 제곱하기 때문에 1미만의 에러는 더 작아지고, 그 이상의 에러는 더 커진다.
MAE와 마찬가지로 과대추정이나 과소추정을 파악하기 힘들다.

3.RMSE: 잔차의 제곱에대한 평균에 루트를 씌움.

1.장점: 예측변수와 단위가 같다. 제곱된 잔차를 루트화 시키기 때문에 MSE에 비해 왜곡값이 덜하다

2.단점: 과대추정 이나 과소추정을 파악하기 힘들다. 스케일에 의존적이다.

4.R2(결정계수):분산 기반으로 예측 성능을 평가한다. 실제 값의 분산 대비 예측값의 분산 비율을 지표로 하며 , 1에 가까울수록 예측 정확도가 높다.

1.장점: 다른지표들과 달리 스케일에 영향을 받지 않아 상대적으로 성능이 어느정도인지 판단 할 수 있다.(0~1사이의 값을 가짐)

2.단점:독립변수의 수가 많을 수록 R2의 값이 높아진다. 이것을 보완하기 위해 수정 결정계수(R2 adj)가 존재한다.

5.R2 adj(수정결정계수): 결정계수를 보완하기 위한 것으로 1에 가까울수록 예측 정확도가 높은 모델이고 음수 값이 나오면 사용할 수 없는 모델로 해석할 수 있다.
R2 adj가 R2보다 크게 작다면 모형에 불필요한 독립 변수가 있다는 것으로 해석 가능.

다중공선성이란?

데이터 분석시 일부 설명 변수가 다른 설명 변수와 상관 정도가 높아,
데이터 분석시 부정적인 영향을 미치는 현상을 말한다.
일반적으로 회귀분석시 어떤 변수의 영향력을 파악할때 설명 변수끼리는 서로 독립이라는 가정을 한다.
그러나 만약 두 설명 변수가 서로에게 영향을 주고 있다면 둘 중 하나의 영향력을 검증할때 다른 하나의 영향력을 완벽히 통제할 수 없을것이다.

예를들어
음주가 학업성취도에 미치는 영향을 알아보기 위해 회귀분석을 한다고 가정하자
학업성취도를 종속변수 Y로 놓고 독립변수 X1은 일평균 음주량을 , 독립변수 X2는 혈중 알코올 농도라고 한다면 문제가 발생한다.
일평균 음주량(x1)과 혈중 알코올 농도는(x2) 과연 완벽하게 독립일까?
오히려 상관관계가 아주 높을것이다.
일평균 음주량이 높은데 어떻게 혈중 알코올 농도가 높지 않을수 있을까?
다중공선성이 생기게 되면 표준오차가 증가한다.

과대적합vs과소적합(Overfitting vs underfitting )

과대적합: 모델이 훈련데이터에 너무 잘 맞지만 일반화 성능이 떨어진다.
과소적합: 모델이 너무 단순해서 데이터의 내재된 구조를 학습하지 못할 때 발생함.

과대적합 해결방법 : 1. 훈련데이터를 많이 모음. 2. 정규화 - 규제(제약조건), 드롭-아웃 등 다양한 방법을 이용해서 적당한 복잡도를 가지는 모델을 자동적으로 찾아주는 기법
3.훈련 데이터 잡음을 줄임(오류수정 및 이상치제거)

과소적합 해결방법 : 1. 파라미터가 더 많은 복잡한 모델을 선택 2. 모델의 제약을 줄이기(하이퍼파라미터값 줄이기) 3.Overfitting이 되기 전의 시점까지 충분히 학습

편향-분산 트레이드오프(Bias-Variance Tradeoff)

이것역시 과대적합과 과소적합과 관련이 있는 개념이다.

일반적으로 복잡도가 높은 모델은 분산이크고 편향이 작고 복잡도가 낮은 모델은 분산이 작고 편향이 높다.

이러한 관계를 편향-분산 트레이드오프 라고 한다.

기계학습의 목표는 훈련데이터 뿐만 아니라 테스트데이터 에도 좋은 성능을 내는 ‘일반화모델’ 을 수립 하는것 입니다.

‘일반화 모델’은 낮은bias 와 낮은 variance 일수록 성능이 좋습니다.
하지만 이 둘은 trade-off 관계이므로 둘다 낮추기란 쉽지 않아보입니다.

그러면 “그나마”라도 최적의 모델을 만들수는 없을까요?
방법은 과적합이 일어나는 시점을 찾는것 입니다.
그 시점이란 모델의 복잡도가 올라감에 따라 훈련데이터 성능은 계속 좋아지나 검증데이터 성능은 어느순간 감소하는 지점을 말합니다.

profile
예비 데이터개발자

0개의 댓글