강의

멘토링

커뮤니티

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

Yoonseok Choi님의 프로필 이미지
Yoonseok Choi

작성한 질문수

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

회귀 트리의 이해

Linear Regression과 CART 모델 선택

작성

·

237

1

안녕하세요. 강의 보는 중 질문이 생겨 글 남깁니다.

타겟값 Y가 연속형 데이터일 때 회귀를 쓰잖아요?

그런데 Ridge나 Lasso같은 선형 모델도 있고, DesionTreeRegressor같은 CART 모델도 사용할 수 있을텐데 이러한 모델을 선택하는 기준이 뭔가요?

그리고 두 모델간의 성능차이가 큰가요? 성능차이가 있다면 어떤게 좋은지, 현업에서는 회귀에 어떤 모델이 더 널리 사용되는지 궁금합니다.

요약하자면,

1. 선형모델과 CART 회귀모델 선택기준

2. 두 모델들의 성능차이가 있는지, 뭐가 더 좋은지

3. 연속형Y값을 예측할 때 현업에선 어떤 모델이 많이 사용되는지

감사합니다.

답변 1

3

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

안녕하십니까

1. 일반적으로 CART와 같은 회귀 트리는 데이터 전처리의 영향을 선형 회귀 보다는 덜 받습니다. 선형 회귀는  One-hot encoding이나 데이터 Normalization(예를 들어 정규 분포 변환, MinMaxScaler)의 영향을 상대적으로 더 받습니다.(그렇다고 무조건 One-hot encoding이나 데이터 Normalization을 수행한다고 성능이 좋아지지는 않습니다). 반대로 선형 회귀는 상대적으로 학습 시간이 적게 소요 됩니다.  선택 기준은 실제 데이터에 적용해서 더 좋은 성능이 나오는 모델을 선택합니다. 절대적으로 정해진 기준은 없습니다.

2. 선형모델과 CART 모델 중 어떤것이 더 성능이 좋은지는 데이터를 돌려봐야 압니다.  어떤 것이 더 좋은지 미리 알수 없으며, 데이터마다 서로 다른 성능을 보입니다. 제 경험적으로는 적은 데이터 세트의 경우에는 일반적으로 선형 모델이 더 나았던것 같습니다. 반대로 데이터가 많고 피처가 100개 이상인 경우에서는 회귀 트리가 약간 앞선던 경험이 더 많았던 거 같습니다만 절대적인 비교는 결코 아닙니다. 과거에는 categorical feature들이 많으면 회귀 트리를 적용하는 게 좋다는 얘기도 있었지만, 제 경험상, 정확한 얘기는 아닌 것 같습니다.

3. 중복되는 답변이지만, 정해진 모델은 없습니다. 선형 모델이나 회귀 트리중 더 나은 성능을 보이면 그걸 택합니다. 제 경험을 말씀드리면 회귀에 경우는 먼저 선형회귀로 baseline을 잡습니다. 그런 다음에 회귀 트리로 이 선형 회귀보다 성능이 높게 나오는지 계속 테스트 해보면서 결정합니다. 두개 다 비슷한 성능이면 저는 선형 회귀를 선택합니다.

감사합니다.

Yoonseok Choi님의 프로필 이미지
Yoonseok Choi

작성한 질문수

질문하기