다차원 feature selection 방법에 대해
790
작성한 질문수 2
안녕하세요. 강의자님.
계속해서 업데이트되는 강의로 많이 배우고 있습니다.
다름이 아니라, feature selection을 통해 개인 프로젝트에 적용하는 과정에서 dimension 오류를 겪게 되었습니다.
오류를 살펴보니, permutation_importance는 2차원 데이터셋에만 적용될 수 있는것 같습니다.
제가 주로 다루는 데이터셋이 3차원 time-series 데이터이다 보니, scikit-learn에는 3dim 관련 모델이 적어, keras로 LSTM 모델을 만들고 kerasClassifier Wrapper로 model을 감싸서 이용을 하고 있으며, 이를 통해 scikit-learn의 교차학습이나, feature selection을 진행하고자 하였습니다. 하지만 3차원 데이터 셋의 일반적인 feature selection은 다루기 힘들어 질문드리게 되었습니다.
지금은 우선 모델 자체의 예측 (Classification) 과는 상관없이 feature 들의 correlation matrix를 이용해 상관도가 높은 feature을 제거하는 preprocessing 개념의 feature engineering 만 하고 있습니다.
질문을 요약하면,
1. 지금하고 있는 preprocessing 개념의 feature selection이 큰 의의가 있는지?
2. 3차원 데이터셋의 경우 사용할 수 있는 feature engineering이 있을지 ?
수업의 진도와 많이 벗어난것 같아 질문이 조심스럽지만, 아주 단순한 의견이라도 제시해주시면 감사하겠습니다.
감사합니다.
답변 3
1
PCA도 시도 해볼수 있습니다. 단 전체 피처들을 압축한 PCA로 학습하지 않고, 중요 FEATURE들을 압축한 PCA 결과 Feature들을 다시 원본 피처에 추가하는 기법입니다.
만약 Competition을 하신다면 여러 feature들의 업무로직상 average/min/max 등을 구하는 것이 의미있는 또다른 feature들이 될 수 있도록 여러가지 파생 feature들을 고민해 보시는게 좋을 것 같습니다.
1
안녕하십니까,
permutation_importance 패키지가 사이킷런과 Tight하게 coupling 되어 있어서 3차원 형태의 입력 데이터를 적용하기는 어려울 것 같습니다. 그리고 또하나 Deep learning을 사용하신다면 permutation importance와 유사한 방법을 적용하시면 매우 오랜 시간이 소모 될 수 있습니다. 이게 개별 feature들을 변조하면서 evaluation하기 때문에 LSTM으로 하신다면 꽤 오랜 시간이 걸릴거에 반해서 얻는 효과는 미지수여서 해당 방법은 적용을 안하시는게 어떨까 싶습니다.
1. 물론 입니다. 상관도가 서로 높은 feature들을 정리해주는게 Deep learning에서 좋은 효과를 가질 수 있습니다. 다만 feature selection 보다는 적극적인 feature engineering을 적용하시는게 더 좋을 것 같습니다.
2. 3차원 데이터라기 보다는 어떤 유형의 데이터냐에 따라 다를것 같습니다. 가령 시계열을 다루시니, feature selection 보다는 기존 feature들의 moving average(또는 moving sum/max/min) 를 적용해서 추가 feature를 만들어 보시거나(기간은 업무로직에 따라 3일/5일/주간/월간 이 될 수 있을 것입니다) 또는 중요 feature들에 대해서 지수평활법(
감사합니다.
0
좋은답변 감사합니다.
단순 모델의 accuracy에만 집중해서 permutation importance에 걸리는 시간은 미처 고려하지 못한것 같습니다.
시간적 효용성도 앞으로는 고려하는 자세를 가져야겠습니다.
강의자님의 조언대로 한번 이평선같은 feature을 추가해보거나, stationary 한 feature을 추가하고, 데이터양이 방대한 특성상 preprocessing 개념의 feature enginnering을 더욱 고민하는 방향으로 진행하면 될 것 같습니다.
적극적인 feature engineering이라고 하셨는대 제가 바로 생각나는 것 중에서는 PCA 같은 차원축소 느낌의 feature extraction 정도만 생각이 나는데, 혹 selection 과 extraction이외에 할 수 있는 engineering이 있나요?
아직많이 부족하여 계속 질문을 남겨도 정말 친절히 답하여 주셔서 감사할 따름입니다.
안녕하세요 열심히 수강중인 학생입니다
0
59
2
정수 인덱싱
0
67
2
넘파이 오류
0
83
2
11강 numpy의 axis 축 질문 드립니다.
0
84
2
Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.
0
76
2
Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.
0
68
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
74
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
63
2
5강 강의 오류가 있어요.
0
82
1
실무에서 LTV 관련 모델 선택 질문입니다!
0
71
2
14강 강의 듣는중에 궁금한게 있어서 질문합니다~
0
68
3
파이썬 다운그레이 후 사이킷런 재설치
0
115
2
좋은 강의 감사합니다.
0
71
2
scoring 함수 음수값
0
66
2
6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?
0
98
2
분류 평가 정확도 예측
0
75
2
안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.
0
97
1
카카오톡 채널 있나요
0
105
1
혹시 강의에서 사용하시는 ppt 받을 수 있는건가요
0
187
2
pca 스케일링 관련하여 질문드립니다.
0
100
2
주피터 대신 구글 코랩
0
170
2
강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?
0
145
2
실루엣 스코어..
0
83
2
float64 null 값 처리 방법
0
101
2





