Data Science/Machine Learning & Deep Learning
-
[Machine Learning] 모델 해석 - Feature Importance, Permutation Importance, PDP, SHAPData Science/Machine Learning & Deep Learning 2021. 3. 3. 23:34
모델을 만든 후 해석하는데 있어 모델에서 어떠한 특성이 중요하게 작용하였는지, 모델이 예측을 하는데 특성이 어떻게 영향을 미쳤는지를 알 수 있는 방법에 대해 알아보겠습니다. - Feature Importance, Permutation Importance, PDP, SHAP Feature Importance Feature Importance는 모델에서 특성의 중요도를 알 수 있으며, 각 특성을 모든 트리에 대해 평균 불순도감소를 계산한 값입니다. 속도가 빠르다는 장점이 있지만, high-cardinality(많은 카테고리를 가진) 특성에 대해서는 주의해야 합니다. 많은 노드에 사용되어 중요도가 높게 나타날 수 있기 때문입니다. # 특성 중요도 rf = model_rf.named_steps['randomfo..
-
[Machine Learning] 교차검증 - Cross Validation, RandomizedSearchCV, GridSearchCVData Science/Machine Learning & Deep Learning 2021. 2. 21. 18:43
데이터를 훈련 데이터(train), 검증 데이터(val), 테스트 데이터(test)로 나누어 학습을 진행하는 방법은 Hold-out Validation(Hold-out 검증)이라고 합니다. 이 방법에는 단점이 있는데 데이터의 사이즈가 충분히 크지 않을 경우 학습이 충분히 이루어지지 못할 수 있다는 것입니다. 이와 함께 검증 데이터도 충분하지 않아서 예측 성능 또한 제대로 확인할 수 없게 됩니다. 이처럼 데이터가 충분하지 않은 상황에서도 훈련과 검증에 대한 문제를 해결할 수 있는 방법이 교차검증(Crosss Validation)입니다. 교차검증을 위해서 데이터를 k개로 나누게 되는데 k 등분한 데이터 중 k-1개의 데이터를 학습에 이용하고 나머지 데이터로 검증하는 과정을 k번 반복하게 됩니다. 이를 k-f..
-
[Machine Learning] RandomForest 랜덤 포레스트 & Threshold, ROC Curve, AUCData Science/Machine Learning & Deep Learning 2021. 2. 20. 00:08
결정 트리모델(Decision tree)이 하나의 트리만 사용하는 모델입니다. 결정 트리모델은 상위 노드에서 에러가 생기면 하부 노드에도 계속해서 영향을 주고, 트리가 깊어지면 과적합이 될 수 있다는 단점이 있는데 이를 해결할 수 있는 모델이 랜덤 포레스트(Random forest)입니다. 랜덤 포레스트는 앙상블(ensemble) 방법으로, 앙상블 방법은 하나의 데이터로 기본 모델을 여러개 만들어 여러 모델의 예측결과를 다수결 또는 평균으로 하여 예측을 내는 방법을 말합니다. 랜덤 포레스트는 기본 모델을 결정트리로 하는 앙상블 모델입니다. 앙상블 방법에서 기본 모델은 부트스트랩(Bootstrap) 샘플링을 하여 얻은 샘플 데이터로 학습을 합니다. 원본 데이터에서 복원 추출 방법으로 샘플링을 하는 것인데,..
-
[Machine Learning] Logistic Regression 로지스틱회귀Data Science/Machine Learning & Deep Learning 2021. 2. 13. 00:34
로지스틱회귀는 회귀를 사용해 0과 1사이의 값으로 확률을 예측해, 그 확률이 정해진 값보다 큰지 작은지에 따라 어느 클래스에 속할 지를 더 가능성이 높은 범주로 분류해줍니다. 로지스틱회귀 연습에 많이 사용하는 Titanic 데이터를 사용해 보겠습니다. www.kaggle.com/c/titanic/overview Titanic - Machine Learning from Disaster Start here! Predict survival on the Titanic and get familiar with ML basics www.kaggle.com Titanic 데이터는 훈련 데이터(train)와 테스트 데이터(test)로 구성되어 있습니다. 모델을 만들기에 앞서 훈련 데이터를 scikit-learn의 tra..
-
[Machine Learning] Linear Regression - 다중선형회귀Data Science/Machine Learning & Deep Learning 2021. 2. 7. 14:12
지난 포스팅에서는 단순선형회귀(Simple Linear Model) 모델을 사용해 보았는데요 이번에는 2가지 이상의 변수를 사용하는 다중 선형회귀모델(Multiple Linear Model)을 만들어보겠습니다. 이전 단순선형회귀모델에 사용했던 보험료를 예측하기 위한 데이터를 사용하겠습니다. (나이, 성별, BMI, 어린이, 흡연자, 지역, 요금 columns로 이루어진 데이터) www.kaggle.com/sonujha090/insurance-prediction import pandas as pd df = pd.read_csv('insurance.csv') 모델을 만들기에 앞서 scikit-learn의 train_test_split 메소드를 사용하여 데이터를 훈련 데이터와 테스트 데이터로 나누어 주겠습니다..
-
[Machine Learning] Linear Regression - 단순선형회귀Data Science/Machine Learning & Deep Learning 2021. 2. 4. 00:31
지도학습(Supervised Learning)은 머신 러닝의 한 방법입니다. 데이터의 속성을 알려주고 학습을 하는 것인데, 정답을 알려주면서 학습을 시키는 것이라고 할 수 있습니다. 지도 학습에는 회귀(Regression)와 분류(Classification) 두 가지 방법이 있습니다. 분류는 말 그대로 이것이 A이냐 B이냐 Lable로 데이터를 분류하며, 회귀는 연속적인 값으로 얼마나 될 지를 수로 알려줍니다. scikit-learn을 이용하여 하나의 feature만 사용하는 단순 선형 회귀모델(Simple Linear Regression)을 만들어 보겠습니다. 먼저 사용한 데이터는 보험료를 예측하기 위한 데이터입니다. 나이, 성별, BMI, 어린이, 흡연자, 지역, 요금 columns로 이루어진 데이터..