머신러닝 (16) 썸네일형 리스트형 XG Boost 1. 주요 장점 뛰어난 예측 성능, GBM대비 빠른 수행 시간(cpu 병령 처리, GPU지원) 다양한 성능 향상 기능(규제기능 탑재, tree Pruning) 다양한 편의 기능(조기중단, 자체 내장된 교차 검증, 결손값 자체 처리) 2. XGBoost 조기 중단 기능(Early Stopping) XGBoost는 특정 반복 횟수만큼 더 이상 비용함수가 감소하지 않으면, 지정된 반복횟수를 다 완료하지 않고 수행을 종료할 수 있음 학습을 위한 시간을 단축시킬 수 있음. 특히 최적화 튜닝 단계에서 적절하게 사용 가능 너무 반복 횟수를 단축할 경우 예측 성능 최적화가 안된 상태에서 학습이 종료될 수 있으므로 유의 필요. 3. 조기 중단 설정을 위한 주요 파라미터 early_stopping_rounds : 더이상 .. 앙상블_보팅, 배깅, 부스팅 ##앙상블 - 보팅 1. 앙상블 학습 앙상블 학습을 통한 분류는 여러 개의 분류기를 생성하고 그 예측을 결합함으로써 보다 정확한 최종 예측을 도출하는 기법을 말합니다. 2. 앙상블의 유형 앙상블의 유형은 일반적으로는 보팅, 배깅, 브스팅으로 구분할 수 있으며, 이외에 스태킹 등의 기법이 있습니다. 대표적인 배깅은 랜덤 포레스트(Random Forest)알고리즘이 있으며, 부스팅은 에이다 부스팅, 그레디언트 부스팅, XGBoost, LightGBM 등이 있습니다. 정형 데이터의 분류나 회귀에서는 GBM 부스팅 계열의 앙상블이 전반적으로 높은 예측 성능을 나타냅니다. 넓은 의미로는 서로 다른 모델을 결합한 것들을 앙상블로 지칭하기도 합니다. 3. 앙상블의 특징 단일 모델의 약점을 다수의 모델들을 결합하여 보.. 분류 1. 분류의 개요 분류는 학습 데이터로 주어진 데이터의 피처와 레이블값(결정값, 클래스값)을 머신러닝 알고리즘으로 학습해 모델을 생성하고, 이렇게 생성된 모델에 새로운 데이터 값이 주어졌을 때 미지의 레이블 값을 예측하는 것 2. 결정트리 2-1. 결정트리와 앙상블 결정트리는 매우 쉽고 유연하게 적용할 수 있는 알고리즘. 또한 데이터의 스케일링이나 정규화 등의 사전 가공의 영향이 매우 적다. 하지만 예측 성능을 향상시키기 위해 복잡한 규칙 구조를 가져야하며, 이로 인한 과적합이 발생해 반대로 예측 성능이 저하될 수도 있다는 단점이 있다. 하지만 이런 단점이 앙상블 기법에서는 오히려 장점으로 작용하는데, 앙상블은 매우 많은 여러 개의 약한 학습기(즉, 예즉 성능이 상대적으로 떨어지는 학습 알고리즘)를 결합.. Dataprep.eda : Accelerate your EDA (EDA 자동화 패키지) https://towardsdatascience.com/dataprep-eda-accelerate-your-eda-eb845a4088bc Dataprep.eda: Accelerate your EDA Everything you need to know about dataprepare.eda. towardsdatascience.com 처음 작업하는 데이터에 대해서는 추세와 패턴을 파악하기 어렵습니다. 이때, EDA를 통해 데이터를 분석하는 것이 도움됩니다. EDA는 데이터가 어떻게 진행되고 있는지에 대한 전체적인 흐름을 파악하게 해줍니다. 또한, 숨겨진 관계와 패턴을 파악하는 데 도움을 줍니다. 이렇게 파악한 직관이 분석 및 학습 모델을 구축하는 데 중요하게 작용합니다. Dataprepare는 SFU Data.. EDA(Exploratory Data Analysis)란? 1.EDA란? 1) 정의 수집한 데이터가 들어왔을 때, 이를 다양한 각도에서 관찰하고 이해하는 과정. 한마디로 데이터를 분석하기 전에 그래프나 통계적인 방법으로 자료를 직관적으로 바라보는 과정입니다. 2) 필요한 이유 데이터의 분포 및 값을 검토함으로써 데이터가 표현하는 현상을 더 잘 이해하고, 데이터에 대한 잠재적인 문제를 발견 가능. 이를 통해 본격적인 분석에 들어가기에 앞서 데이터의 수집을 결정할 수 있습니다. 다양한 각도에서 살펴보는 과정을 통해 문제 정의 단계에서 미쳐 발생하지 못했을 다양한 패턴을 발견하고, 이를 바탕으로 기존의 가설을 수정하거나 새로운 가설을 세울 수 있습니다. 3) 과정 기본적인 출발점은 문제 정의 단계에서 세웠던 연구 질문과 가설을 바탕으로 분석 계획을 세우는 것입니다. .. 선형회귀_bike-sharing-demand_랜덤포레스트회귀 # 캐글 : https://www.kaggle.com/c/bike-sharing-demand # 코드 참고 # https://github.com/corazzon/KaggleStruggle/blob/master/bike-sharing-demand/bike-sharing-demand-ensemble-model.ipynb import pandas as pd import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt import seaborn as sns # 노트북 안에 그래프를 그리기 위해 %matplotlib inline # 그래프에서 격자로 숫자 범위가 눈에 잘 띄도록 ggplot 스타일 사용 plt.style.use('ggplo.. sklearn.model_selection(train_test_split, 교차검증, GridSearchCV) # 학습/테스트 데이터 분리 from sklearn.model_selection import train_test_split # 교차 검증 from sklearn.model_selection import KFold 학습/테스트 데이터의 이해 학습 데이터로 잘못된 예측 케이스 from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score # iris 데이터 로드 iris = load_iris() # 학습 데이터 세팅 train_data = iris.data train_label = iris.target # 디시젼트리 분류기 인스턴스 생성 d.. 붓꽃 품종 예측하기 사이킷런을 이용하여 붓꽃(Iris) 데이터 품종 예측하기 # 사이킷런 버전 확인 import sklearn print(sklearn.__version__) ** 붓꽃 예측을 위한 사이킷런 필요 모듈 로딩 ** from sklearn.datasets import load_iris # iris 데이터 로드 from sklearn.tree import DecisionTreeClassifier # 의사결정나무 분류기 from sklearn.model_selection import train_test_split # 학습,테스트 데이터 분리 데이터 세트를 로딩 import pandas as pd # 붓꽃 데이터 세트를 로딩합니다. iris = load_iris() iris # iris.data는 Iris 데이터 세.. 이전 1 2 다음