따릉이 대여량 예측 AI 해커톤

알고리즘 | 정형 | 회귀 | 행태심리 | NMAE

  • moneyIcon Prize : 참가시 최소 50 XP, 특별상 데이콘 후드
  • 691명 마감

 

[Baseline] 2. Feature Engineering을 이용한 모델 성능 향상

2021.10.26 16:41 3,105 Views language

데이터 분석에서 Feature Engineering의 중요성과 데이터 사이언티스트의 도메인 지식의 중요성을 알아봅시다.

이번 baseline은 지난번의 baseline과 동일한 모델을 사용하지만 성능은 압도적으로 끌어올릴 것입니다!

Code
로그인이 필요합니다
0 / 1000
꼬숑
2023.09.07 16:34

안녕하세요 머신러닝에 입문한 데린이입니다. 혹시 2번 Feature Engineering by Compute에서 feature 자기 자신의 제곱과 두 feature간의 곱이라는 새로운 feature를 추가하는 이유가 있을까요? 너무 Overfitting하는 느낌이라 질문드립니다!

DACONIO
2023.09.08 10:18

안녕하세요 꼬숑님. 

꼬숑님이 질문하신 내용은 "다항식 특성 생성" 중 하나를 예시로서 소개한 것이며,  이는 Scikit-learn 라이브러리의 PolynomialFeatures 클래스에서도 제공하고 있습니다.  

feature engineering을 한 마디로 정의하자면, 예측하고자 하는 target 변수에 대한 설명력이 높은 feature , 그래서 그 feature를 학습하면 모델의 예측 성능이 높아질 것이라고 기대하는 feature를 찾거나 생성하는 과정입니다.
   
질문 주신 x1 이라는 feature를 x1^2으로 만드는 것의 의미는 무엇일까요?  데이터의 도메인 특성에 다르지만,
경우에 따라서는 '주어진' x1 feature 보다는  'x1을 제곱한 feature'가 target에 대한 더 높은 연관성을 가지는 예가 제법 있습니다. 
가령 어떤 입자의 충돌 에너지를 간접적으로 센싱한 target 변수가 있고,  그 입자의 속도를 센싱한 feature가 x1으로 수집 되었다고 합시다. 
이런한 경우 물리적 법칙에 의하면  충돌 에너지는  '속도' 보다는 '속도'의 제곱에 비례하는 성질이 때문에, 이러한 문제라면 x1 보다는 x1을 제곱한 feature가  모델성능을 높이는 데에  더 잘 작동하게 됩니다. 즉 x1을 제곱하거거나 x1 * x2를 feature로 만드는 것은  타겟 변수와의 '비선형 관계'를 포착하는 예시로서 이해하시면 될 것 같습니다. 
다만 이러한 다항식에 의한 feature 생성 방법이 데이터 분석가의  데이터 인사이트, 혹은 도메인 지식과 무관하게,  무작위적으로 생성 한다면,  overfitting 이 발생하거나, 모델 복잡도만 높이는 부정적인 결과를 초래할 가능성이 훨씬 더 높습니다. 

그러나 데이터 분석가가 직면한 문제에 대한 도메인 지식이 충분하지 않은 경우에, 다항식 방법에 의한 특성 생성과 적절한 feature selection과정을 병행한다면 꽤 효과적인 방법이 될 수 있답니다. !

    


 

 

꼬숑
2023.09.08 10:24

친절한 답변 감사합니다! 타겟 변수와의 '비선형 관계'라고 하니 이해가 되는거 같습니다 :D