Machine Learning
-
Tree 기반 모델에서 사용되는 평가 기법 Feature Importance의 허와 실Machine Learning/Evaluation 2021. 5. 20. 17:57
scikit-learn의 Tree 기반 모델로 Classification 문제를 다루다보면 Evaluation단계에서 Feature Importance라는 것을 한 번쯤은 접해보았을 것이다. 사실 .feature_importances라는 메서드만 가지고도 전체 변수들의 Feature Importance를 한 눈에 확인할 수 있어 어떻게 Importance를 산출하는지, 장단점은 무엇인지 제대로 모르고 지나가는 경우가 많다. 이번 포스트에서는 Feature Importance를 설명과 산출방법, 그리고 허와 실에 대해 이야기해보겠다. Tree모델의 기본에 해당하는 Decision Tree에도 Data의 Type에 따라 그리고 노드를 분리하는 방법에 따라 여러가지 Decision Tree가 존재한다. Fea..
-
Feature Encoding 관련 ArticleMachine Learning/Feature 2021. 3. 25. 11:24
1. Frequency Encoding, Target Encoding 소개 Stop One-Hot Encoding your Categorical Features — Avoid Curse of Dimensionality Techniques to Encode Categorical Features with many Levels/Categories medium.com 2. Encoding하는 여러가지 기법 소개 Smarter Ways to Encode Categorical Data for Machine Learning Exploring Category Encoders towardsdatascience.com
-
Time Series 데이터를 변수로 Encoding하는 다양한 기법Machine Learning/Feature 2021. 3. 2. 14:05
Machine Learning을 접하고 Modeling을 하다보면 시간과 관련된 데이터가 빠지지 않고 등장한다. 대부분의 데이터는 시간 순으로 적재되기 때문이다. 그리고 그 데이터는 시간의 영향을 받는 경우가 아주 많이 존재한다. "겨울"과 "밤"시간에 사용량이 증가하는 계절성을 갖고 있는 보일러 사용량 등이 대표적인 예이다. 어쨌거나 이러한 데이터를 받아들게 되면 가장 처음 떠오르는 고민이 있다. 시간 데이터를 Categorical Data로 다뤄야 하나 Numeric Data로 다뤄야 하나에 관한 문제이다. 보통의 Categorical Data의 경우 One-hot Encoding 혹은 LabelEncoding을 진행하고, Numeric Data는 이상치를 제거하거나 도메인 지식이나 EDA결과에 따라..
-
Imbalanced data에 대한 이진분류에서의 ROC_CURVE, PR_CURVEMachine Learning/Evaluation 2021. 2. 18. 17:56
Machine Learning을 접하고 자신이 만든 Classification Model을 평가할 때 자주 등장하는 평가기법으로 ROC 커브가 있습니다. 분류기의 성능을 측정하고 threshlod를 기준으로 가능한 모든 경우의 수에 대해 평가할 수 있다는 점에서 효과적인 평가방법이라고 할 수 있을 것입니다. 하지만 만능은 아니라는 점, Imbalanced data를 다루던 중 ROC 커브에 대해 의문을 가지게 되었고 포스트를 작성하게 되었습니다. 우선 정상 dataset에 대한 ROC 커브를 그려보고 Imbalanced dataset에 대한 ROC 커브를 그려보며 한계점과 대안책을 찾아가며 진행하도록 하겠습니다. ※ Confusion matrix에 대한 기본적인 이해를 가정하고 진행하도록 하겠습니다. 1..
-
[연관분석] 텍스트마이닝, 구매이력데이터 각각 연관분석 수행Machine Learning/Modeling 2020. 11. 16. 21:52
어떤 텍스트에서 명사를 추출하여 명사 간의 연관분석을 진행할 수도 있고, 구매이력 데이터를 가지고 구매한 물품들 간의 연관분석을 진행할 수도 있습니다. 하지만 데이터 전처리과정이 상이하기 때문에 헷갈리는 점이 있었습니다. 그래서 텍스트마이닝에서 Apriori알고리즘을 활용하는 전처리과정, 구매이력데이터를 바탕으로 Apriori알고리즘을 활용하는 전처리과정에 대해 각각 포스트하도록 하겠습니다. 1. 텍스트 마이닝의 경우 텍스트마이닝의 경우 크게 nltk를 활용하는 경우와 konlpy를 활용하는 경우가 있습니다. 우선 영어부터 알아보도록 하겠습니다. 1.1 영어 www.kaggle.com/fabiendaniel/customer-segmentation/notebook Customer Segmentation E..
-
[+Code]imbalanced한 데이터를 처리하는 sampling기법(over, under, SMOTE)Machine Learning/Feature 2020. 10. 21. 22:31
현실에 있는 많은 데이터들은 불균형합니다. 예를 들어 제조업에서 제품의 불량을 분류하기 위해 10,000개의 row를 가진 데이터셋을 구축하였다고 하면, 우리가 원하는 label은 대부분이 '정상'으로 나올 것입니다. 왜냐하면 대부분의 공정에서 불량품이 나오지 않기 때문이죠. 10,000개의 데이터셋에서 9900개의 데이터가 '정상'으로 나온다면 이 데이터셋으로 제대로 된 모델링을 할 수 없습니다. 이런 imbalanced한 데이터를 oversampling, undersampling, SMOTE의 데이터 resampling 기법을 통해 어느정도 해소할 수 있습니다. 먼저 아래의 데이터셋을 확인해보도록 하겠습니다. 참조 : www.kaggle.com/rafjaa/resampling-strategies-fo..