인프런 커뮤니티 질문&답변

chip님의 프로필 이미지
chip

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

사이킷런 LinearRegression 클래스와 회귀 평가지표 소개

adjuste r2score

작성

·

488

0

선생님, 안녕하세요!

질문1)

혹시 머신러닝 regression 은 adjusted r2score을 확인하는 방법이 있을까요?

질문 2) 

예측을 위해서는 r2score이 높은 것이 좋지만,  인과관계를 분석할 때는 r2score과 다중공선성 tradeoff 문제로 인해 r2score이 높은 것이 꼭 좋은 것만은 아니라고 통계학에서 배웠습니당! 

혹시 머신러닝에서는 회귀분석의 주요 이유가 인과관계가 아닌 예측을 위한 것인가요~? r2score을 평가지표로 사용되며  예측 위주로 수업이 진행되어서, 통계학과 달리 머신러닝에서는 인과관계를 분석하는 것보다 예측에 중점을 두는지  궁금증이 발생하여서 이렇게 질문드립니다.

인프런을 통해 좋은 강의를 계속 업데이트 해주셔서 항상 감사드립니다.

답변 2

0

chip님의 프로필 이미지
chip
질문자

선생님, 많이 배우고 있습니다. 친절한 설명 정말 감사드립니다 : )

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

1. scikit learn에서 adjust r2 score를 바로 제공하는 API는 없군요.

아래와 같이 직접 만들어야 할 것 같습니다.

from sklearn.metrics import r2_score

adjusted_r2 = 1-(1-r2_score(y_test, y_pred))*((len(X_test)-1)/(len(X_test)-len(X_test[0])-1)))

2. 통계에서는 회귀 분석의 주요 이유가 예측이 아닌건가요?

제가 통계 전문가가 아닌 관계로, 아래는 지극히 제 개인적인 의견입니다.

전통적인 통계학 회귀 분석에서 인과 관계 분석이 중심이 된다는 의미는 회귀 분석이 상관 관계가 아닌 인과 관계에 중점이 맞춰져 있으며 또한 독립변수들이 종속 변수를 얼마나 잘 설명할 수 있는지가 회귀 모델의 중요한 평가 요소라는 의미이기 때문이라고 생각됩니다. 하지만 이것이 회귀 분석에서 예측을 덜 중요한것으로 여긴다고는 생각하지 않습니다.  저는 본질적으로는 회귀 분석이 예측을 가장 중요시 한다고 생각하지만 말씀하신대로 시각차이는 있을 수 있습니다. 물론 머신러닝도 전통적인 통계학과 마찬가지 시각으로 접근합니다. 하지만 말씀하신대로 머신러닝은 예측에 훨씬 집중합니다.

r2 score는 회귀 모델의 훌륭한 평가 지표이지만,  예측 모델과 실제 모델의 분산이 얼마나 비슷한지에 기반하고 있기에, 예측값과 실제값이 많이 달라도 분산만 비슷하면 높은 점수를 얻을 수 있는 맹점이 있습니다. 또한 말씀하신 다중 공선성은 변수들의 선형 결합들이 다른 선형 결합과 매우 높은 상관관계가 발생해서 통계학에서 회귀 계수를 추정하기 어려운 문제를 의미하기에 r2 뿐만 아니라 예측 성능도 저하 될 수 있습니다. 

감사합니다.

chip님의 프로필 이미지
chip

작성한 질문수

질문하기