Data Science
-
[Data Engineering] 파이썬 가상환경 - AnacondaData Science/Data Engineering 2021. 3. 7. 01:42
가상환경은 웹 어플리케이션을 만들고 배포를 하는데 있어, 배포 환경에서 개발 환경을 비슷하게 구현하여 다양한 배포 환경에서 문제가 일어나는 일을 줄여 잘 작동할 수 있도록 합니다. 또한 가상환경을 통해서 프로젝트별로 개발 환경을 구성할 수 있어 효율적인 작업을 할 수 있습니다. Anaconda로 파이썬 가상환경을 사용하는 방법을 알아보겠습니다. Anaconda는 데이터 사이언스에서 사용되는 툴들이 담겨있어 매우 유용합니다. 아나콘다로 가상환경을 구축하기 위해서 먼저 아나콘다를 설치해야 합니다. 아나콘다 홈페이지에서 쉽게 다운로드 받을 수 있습니다. www.anaconda.com/products/individual Anaconda | Individual Edition Anaconda's open-sourc..
-
[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..
-
Review : Section 2Data Science/Code States - AI Bootcamp 2021. 3. 2. 23:58
두 번째 Section review Section 2 : Machine Learning - 오즈 -> 비선형 함수를 직관적으로 해석하기 쉽게 해줌, odds = 3 은 성공확률이 실패확률의 3배라는 의미 - 로짓변환 : 오즈에 로그 취해 변환하는 것, 비선형형태인 로지스틱 함수를 선형형태로 만들어서 해석이 쉽도록 해줌, 특성이 증가하면 로짓이 얼마나 증감하는지 해석할 수 있음 - R-squared : 분산을 기반으로 하며 1에 가까울수록 성능이 좋음, 예측값 variance/ 실제값 variance - 추가로 인코딩 방법에 대해서 알아보기 - 강의 노트에서 자세히 다루지 않은 부스팅 모델에 대해서 더 알아보기
-
[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로 이루어진 데이터..