• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

Feature engineering 질문입니다

21.09.02 02:29 작성 조회수 79

0

선생님 덕분에 항상 많은것을 배워갑니다.
강의를 들으면서 궁금한게 생겼는데요.
LGBM 모델이 decision tree 기반으로 작동한다고 알고있습니다.
첫번째 LGBM regressor 모델을 쓰게될때
categorical 데이터와 연속형 데이터가 섞인 데이터를 받게될 경우도 다분하다고생각되는데요 .이때는 data feature engineering 을 어떤식으로 접근해야할지 모르겠습니다. 조금 범위가 넓은 질문이기도 한데요
1. 가령 연령대의 데이터가 birth_date 로 오지않고 1:(20~25) 2:(25~30) 등으로 올때는 그냥 별도의 feature_engineering 을 하지않아도 되는지??여부
2. 새로운 특징을 추출할때 범주형과 연속형 변수를 섞어서 도출할때에는 어떤식으로 해야할지?? 선생님의 의견을 듣고싶습니다( 가령 안건드는게 좋다라던지 접근방식이라던지)
3. 그리고 연속형 범주에서 LGBM 을 사용할떄는 굳이 정규화를 시켜주지않아도되는지여부도 궁금합니다.( decision tree 기반이라 굳이 안해도 된다는말을 어디서본거같긴한데 잘 모르겠습니다)
4. 특정 열이 데이터가 한쪽으로 치우져있을때 log 를 씌워 정규분포형태로 만들어줄수있다는것도 알게되었습니다(머신러닝완벽가이드)
여기서 train_data의 특정 column에('A'라고 하겠습니다) log를 적어주었을때 test_column 특정열('A')에도 log 를 취해준후 예측을 하고 predict 한결과를 그대로 사용하면 되는것이 맞는지요??
5. 마지막으로 평가지표에 대한 질문인데요. rmse나 MAPE 등 다양한 평가지표가 존재합니다. 근데 여기서 rmse 가 무조건낮다고 쓸만한 모델인가? 에대한질문입니다. rmse 가 0.1 이여도 쓸만한 모델이 아닐수도있고 rmse가 10이여도 쓸만한 모델일수도 있다고 생각이되는데 이에대한 구분기준은 어떻게정해야할까요???
이제 머신러닝을 배우는단계라 궁금한게 너무많아서 한번에 질문이 많아졌네요.
감사합니다.

답변 1

답변을 작성해보세요.

0

안녕하십니까, 

1. 별도의 Feature engineering이 시도해 볼만하다고 생각하면 하시는게 좋습니다. 답이 있는게 아닙니다. 여러가지 수행해보고 좋으면 채택하는 방식을 취하시면 됩니다. 물론 이 과정에서 좀 더 창의성(?) 있는 feature 들을 추출하는 노하우가 필요하긴 합니다만, 꾸준히 연습해보면 그 길에 다다를수 있을 것입니다. 

말씀하신대로 1:(20~25), 2:(25-30) 과 같이 1, 2가 연령대 코드라면 이걸 그대로 이용하셔도 좋고,  값을 가공해서 1,2 가 20대라면 1과 2를 합쳐서 20대라는 코드값을 주셔서 가공하셔도 될 것 같습니다. 20대는 A, 30대는 B와 같이 부여하셔도 무방합니다. 다만 예상으로는 크게 성능 차이가 없을것 같아서 그대로 하시는게 좋을 것도 같습니다. 

2. 범주형과 연속형 피처를 섞는다는게 Feature 자체를 더한다는 의미 보다는 범주형 코드값으로 Group by를 해서 연속형 피처값의 집계값을 도출하는 방식을 많이 사용합니다. 가령 성별이라는 범주형 코드와 소득이라는 연속형 피처가 있으면 이걸  select avg(소득), max(소득), min(소득) from data group by 성별 로 해서 성별에 따른 평균, 최대, 최소 소득 값을 얻는 방식으로 feature engineering을 할 수 있습니다. 

3. tree기반일 경우 정규화를 안해 주셔도 성능과 큰 상관이 없습니다. 

4. 네, 맞습니다. 학습시에 feature를 log 로 가공했으면 test 시에도 해당 feature 를 log로 가공해 줘야 합니다. 

5. 네, RMSE가 모든 상황에서 좋은 평가 지표라고 할 수는 없습니다. RMSE는 일반적으로 실제 Target 값과 차이가 많이 나는 예측값이 많을 수록 Penalty를 부여하는 방식입니다. 즉 차이의 제곱을 이용하는 방식이므로 차이가 많이나는 예측을 할 수록 오차값이 커집니다. 상황에 따라 RMSE보다 MAE를 더 선호 할 수도 있습니다. 

감사합니다.