✔️MachineLearning 9

Classification 4. 앙상블 학습(Ensemble Learning) - Boosting(3. XGBoost)

권철민 강사님의 '파이썬 머신러닝 완벽 가이드'을 학습하고 정리한 것입니다. 배우는 중이라 잘못된 내용이 있을 수 있으며 계속해서 보완해 나갈 것입니다. :)) 3.XGBoost(eXtra Gradient Boost) XGBoost는 앞선 GBM의 단점을 보충하면서도 여러 강점들을 가지고 있다. XGBoost의 주요 장점) - 분류 뿐만 아니라 회귀에서도 뛰어난 예측 성능 - CPU 병렬처리, GPU 지원 등으로 GBM 대비 빠른 수행시간을 가짐 - Regularization 기능, Tree Pruninng등 다양항 성능 향상 기능 지원 - 다양한 편의 기능 (Early Stopping, 자체 내장된 교차 검증, 결손값 자체 처리) ※ XGBoost 의 Early Stopping 기능 XGBoost와 L..

Classification 3. 앙상블 학습(Ensemble Learning) - Boosting (1. AdaBoost, 2. GBM)

권철민 강사님의 '파이썬 머신러닝 완벽 가이드'을 학습하고 정리한 것입니다. 배우는 중이라 잘못된 내용이 있을 수 있으며 계속해서 보완해 나갈 것입니다. :)) 앞선 에서 앙상블 학습의 개요와 앙상블 학습의 유형 중 voting과 bagging에 대해서 학습 한 것을 정리해 보았다. 앙상블 학습의 유형에는 1. Voting 2. Bagging - Random Forest 3. Boosting - AdaBoost, Gradient Boost, XGBoost(eXtra Gradient Boost), LightGBM(Light Gradient Boost) 4. Stacking 이런 것들이 있다. 이번 포스트에서는 Boosting 에 대해서 배운 것을 정리해보고자 한다. 3) Boosting Boosting 알..

Classification 2. 앙상블 학습(Ensemble Learning) - Voting과 Bagging

권철민 강사님의 '파이썬 머신러닝 완벽 가이드'을 학습하고 정리한 것입니다. 배우는 중이라 잘못된 내용이 있을 수 있으며 계속해서 보완해 나갈 것입니다. :)) 앙상블 학습이란, 앙상블 학습을 통한 분류는 여러 개의 분류기(Classifier)을 생성하고 그 예측을 결합함으로써 보다 더 정확한 최종 예측을 도출하는 기법을 말한다. 특히 XGboost, LightGBM 등과 같튼 앙상블 모델을 정형 데이터의 분류나 회귀 분야에서 예측 성능이 매우 뛰어난 학습 모델을 만드는데 용이하다. 앙상블의 특징 - 단일 모델의 약점을 다수의 모델들을 결합하여 보완 - 성능이 떨어지되, 서로 다른 유형, 계열의 모델들을 섞으면, 오히려 더 성능이 나아지기도 한다. 예를 들어, 랜덤 포레스트나 뛰어난 부스팅 알고리즘들은 ..

Classification 1. 결정 트리(Decision Tree)

권철민 강사님의 '파이썬 머신러닝 완벽 가이드'을 학습하고 정리한 것입니다. 배우는 중이라 잘못된 내용이 있을 수 있으며 계속해서 보완해 나갈 것입니다. :)) 분류(Classification)란 학습 데이터로 주어진 데이터의 feature와 label값을 머신러닝 알고리즘으로 학습해 모델을 생성하고, 학습된 모델에 새로운 feature 값(독립변수)이 주어졌을 때, 그 값과 가장 연관도니 label(종속변수; class)값을 예측하는 것이다. 의 설명에 따르면, ' 어떤 표본에 대한 데이터가 주어졌을 때, 그 표본이 어떤 카테고리 혹은 클래스에 속하는지를 알아내는 문제'로 볼 수 있다. 대표적인 분류 알고리즘 나이브 베이즈(Naive Bayes Classification) 로지스틱 회귀(Logistic..

Regression2. 경사하강법 수행 프로세스와 python code

Gradient Descent¶ Y=4X+6이 실제값 일 때, y = 4X + 6 식을 근사(w1=4, w0=6)하고 noise가 있는 random 값을 데이터로 만들어서 최적의 회귀계수를 찾아가도록 해본다.¶ In [1]: import numpy as np import matplotlib.pyplot as plt %matplotlib inline np.random.seed(0) #.seed를 사용하면 실행 때 마다 동일한 셋트의 난수가 나타나게 할 수 있다. X = 2 * np.random.rand(100, 1) y = 6+4*X + np.random.randn(100, 1) #X, y 데이터셋을 scatter plot으로 시각화 print(X.shape, y.shape) plt.scatter(X, y..

Evaluation2. 회귀의 성능 평가 지표(MAE, MSE, RMSE, R제곱)

권철민 강사님의 '파이썬 머신러닝 완벽 가이드'을 학습하고 정리한 것입니다. 배우는 중이라 잘못된 내용이 있을 수 있으며 계속해서 보완해 나갈 것입니다. :)) 머신러닝의 프로세스는 - 데이터 가공/ 변환 - 모델 학습/예측 - 평가 로 이루어진다. 이 중 에 대해 학습 한 것을 정리해보고자 한다. 머신러닝 모델의 성능을 평가하는 지표인 성능 평가 지표는 모델이 분류모델이냐/ 회귀 모델이냐에 따라 달라진다. - 분류의 성능 평가 지표: 정확도(Accuracy), 오차 행렬(Confusion Matrix), 정밀도(Precision), 재현율(Recall), F1 score, ROC AUC - 회귀의 성능 평가 지표: 대부분 실제 값과 예측값의 오차 평균값에 기반한 평가 sklearn - Metrics a..

Evaluation1 - 분류 모델 성능 지표 (Accuracy, Confusion Matrix, Precision, Recall, F1 score, ROC AUC )

권철민 강사님의 '파이썬 머신러닝 완벽 가이드'을 학습하고 정리한 것입니다. 배우는 중이라 잘못된 내용이 있을 수 있으며 계속해서 보완해 나갈 것입니다. :)) 머신러닝의 프로세스는 - 데이터 가공/ 변환 - 모델 학습/예측 - 평가 로 이루어진다. 이 중 에 대해 학습 한 것을 정리해보고자 한다. 머신러닝 모델의 성능을 평가하는 지표인 성능 평가 지표는 모델이 분류모델이냐/ 회귀 모델이냐에 따라 달라진다. - 분류의 성능 평가 지표: 정확도(Accuracy), 오차 행렬(Confusion Matrix), 정밀도(Precision), 재현율(Recall), F1 score, ROC AUC - 회귀의 성능 평가 지표: 대부분 실제 값과 예측값의 오차 평균값에 기반한 평가 먼저 분류의 성능 평가 지표에 대해..

Sklearn 익히기 - train/test data set 분리 및 Cross Validation

권철민 강사님의 '파이썬 머신러닝 완벽 가이드'을 학습하고 정리한 것입니다. 배우는 중이라 잘못된 내용이 있을 수 있으며 계속해서 보완해 나갈 것입니다. :)) Sklearn 소개 - 파이썬 기반의 다른 머신런닝 패키지도 사이킷런 스타일의 API를 지향할 정도로 쉽고 가장 파이썬 스러운 API 를 제공한다. - 머신런닝을 위한 매우 다양한 알고리즘과 개발을 위한 편리한 프레임워크와 API 를 제공한다. - 주로 Numpy와 Scipy 기반 위에서 구축된 라이브러리이다. 붓꽃 데이터를 예측하는 문제를 통해 Sklearn의 사용에 대해서 배운 것을 정리해보고자 한다. 붓꽃 데이터 세트는 sklearn의 내장 예제 데이터셋이며 구성은 이렇게 dictionary 형태로 되어 있다. 데이터 셋을 코드로 살펴보자...