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

작성자 없음

작성자 정보가 삭제된 글입니다.

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

회귀 실습 1: 자전거 대여(공유) 수요 예측 - 01

1) Binary 변수의 coefficient 해석 2) L1, L2 가정

작성

·

364

0

안녕하세요
 
친절한 강의와 설명 감사합니다! 두가지 질문이 있습니다.
 
1)
Binary 변수의 coefficient를 어떻게 해석하는지 궁금합니다.
 
예를 들어, L1/L2 Regression model에서
  • Hour_20 변수의 coefficient = -0.3 일 경우, 20시일 때 자전거 대여수가 줄어든다
  • Hour_9 변수의 coefficient =0.5 일 경우, 오전 9시에 자전거 대여수가 늘어난다.
  • Hour_6 변수의 coefficient = 0.0001 일 경우, 오전 6시는 자전거 대여수에 거의 영향을 주지 않는다.
와 같이 해석을 하는 것이 맞을까요? 보다 구체적인 해석이 가능한지 알려주시면 감사하겠습니다!
 
2)
Linear regression은
  1. Linearity - 선형성
  2. Independent data points - 독립성
  3. Normality - 정규성
  4. Equal variance - 등분산성
  5. No multi-collinearity
와 같은 가정을 따라야 하는 것으로 알고 있습니다.
 
L1과 L2 또한 Linear regression와 동일한 가정을 따라야 하는 것으로 알고 있는데 해당 Bike Demand 예제에서는 따로 가정을 검증하지 않고 바로 모델링을 한 것 같습니다.
 
2-1) 특별히 하지 않은 이유가 있는지 궁금하고, 하지 않아도 된다면 그 이유에 대해 설명해주시면 감사하겠습니다.
2-2) 가정 검증을 해야하는 것이라면 강의 예제처럼 검증을 하지 않은 경우, 모델의 타당성에 대해 의문을 제기할 수 있는지도 알려주시면 감사하겠습니다.
2-3) 가정 검증에 대한 강의 내용은 어디서 찾을 수 있을까요?
 
좋은 강의 내용과 친절한 답변 감사합니다 ^^

답변 2

1

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

안녕하십니까, 

답변이 늦어서 죄송합니다. 

지나친게 아니고, 질문하신 원-핫 인코딩에 대해서 저도 생각할 시간이 필요해서 답변이 늦었습니다. (이제 나이가 있으니 장시간 운전하면 체력이 회복이 안되서 그런 부분도 있습니다 ^^;;)

1. 먼저 원-핫 인코딩이 아닌 일반 코드값의 회귀 계수는 잘 아시다시피 그런 식으로 이해 될 수가 없습니다. 

연속형 값에 대해서는 그렇게 이해할 수 있습니다. 하지만 코드값, 가령 (19, 20, 21, 22, 23, 00)를 그렇게 대응 시킬 수는 없습니다. 코드값의 경우는 '전체 회귀식에서 해당 회귀 계수의 영향도가 이정도 이다'라는 정도로 이해가 되면 될 것 같습니다. 

그럼 일반 코드값을 원-핫 인코딩한 회귀 계수는 연속형 값과 같은 해석이 가능한가 인데, 이 역시 그정도 수준까지 확장 해석하기에는 무리가 있습니다.  물론 회귀 계수값이 - 냐, + 냐에 따라서 당연히 타겟값에 영향을 미치겠지만, 그것보다는 원핫 인코딩 원본 컬럼을 기준으로 어느정도의 영향을 가지고 있느냐 정도로 해석되는게 더 맞다고 생각됩니다. 즉 hour_20의 회귀계수가 -0.3 일때 20시의 자전거 대여수가 늘어나고 hour_9일때 회귀 계수가 0.5라면 9시에 대여수가 늘어난다기 보다는 hour라는 피처를 원핫 인코딩 될 때 개별 피처들의 영향도가 이정도 이다 라는 정도로 이해가 되면 될 것 같습니다. 

2. 통계학 기반의 회귀와 머신러닝 기반의 회귀의 가장 큰 차이는 가정 검증을 하느냐 그렇지 않느냐 입니다. 

머신러닝 기반의 회귀는 일반적으로 통계학 기반의 회귀에서 수행하는 가정 검증을 별도로 하지 않습니다.  방정식 형태로 변수간의 관계를 공식화하는 통계학 기반의 회귀에는 다르게 머신러닝 기반의 회귀는 학습 데이터를 기반으로 모델 알고리즘을 학습 시키는 방식의 차이가 있기 때문입니다.

예를 들어 통계학 기반의 회귀에서는 R2 Score, p밸류 유의성 검증등이 중시되지만, 머신러닝에서는 RMSE와 같이 예측과 실제값 차이가 더 중시됩니다. 머신러닝이 좀 더 결과 우선주의이긴 합니다. 

그래서 제 강의를 포함한 어떤 머신러닝 강의에서도 아마 p 밸류 검증값은 단어는 나오지 않을 것입니다. 

그런데 이를 수행해야 하느냐, 수행하지 않아야 하느냐는 머신러닝 초창기에는 여러 이견이 있습니만, 지금은 각자의 의견의 존중하는 걸로 정착이 되었습니다

2-1) 특별히 하지 않은 이유가 있는지 궁금하고, 하지 않아도 된다면 그 이유에 대해 설명해주시면 감사하겠습니다.
=> 앞에서 말씀드린대로 머신러닝은 데이터를 기반으로 모델 알고리즘을 학습 시키는 것에 충실합니다.
모델의 성능은 데이터에 좌우 됩니다. 말씀해주신 선형성, 독립성, 등분산성은 모델의 성능을 향상시키기 위한 방법이므로 모델의 성능이 떨어지면 해당 데이터의 선형성, 독립성, 등분산성을 강화할 수 있도록 피처를 가공하면 될 일이지 이를 따로 검증할 필요는 없다고 여깁니다.
 
2-2) 가정 검증을 해야하는 것이라면 강의 예제처럼 검증을 하지 않은 경우, 모델의 타당성에 대해 의문을 제기할 수 있는지도 알려주시면 감사하겠습니다.
=> 네, 그래서 통계적 관점이 중요시 되는 업무에 대해서는 머신러닝 도입을 망설이는 경우도 있습니다. 하지만 그러한 경우라면 데이터 관점에서의 가설 검증은 별도로 수행해서 적용하곤 합니다.
 
2-3) 가정 검증에 대한 강의 내용은 어디서 찾을 수 있을까요?
=> 앞에 말씀드린 대로 통계학 회귀 수준의 가정 검증은 제 강의에서 없습니다.
 
감사합니다.

  

 

 

0

강사님 안녕하세요, 답변을 기다리고 있는데 혹시나 지나치셨을까봐 대댓글 남깁니다!

항상 친절한 설명 감사드립니다!

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기