ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • XGBoost in python
    data-science-summary/summary 2020. 9. 20. 18:05
    반응형

    <엔지니어는 구현을 못하면 모르는것이다>

    Boosting 방식의 일종

    Gradient boosting 보다는 빠름, GBM 에 과적합 방지가 가능한 regulation 포함된 모델 + 다양한 loss function을 지원하는 모델이다.

    from xgboost import XGBClassifier 
    from sklearn.datasets import make_classification
    from sklearn.model_selection import train_test_split
    X, y = make_classification(random_state=0)
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
    
    # max_depth : 트리의 최대 깊이를 정의, gamma= 노드가 split 되기 위한 loss function 값이 감소하는 최소값을 정의
    # early_stopping_rounds : n 번 반복동안 성능좋아지지 않으면 멈춤 => 불필요한 시간 낭비 줄임
    # 조기 종료시 어떤 데이터를 볼것인지 정해줌
    evals = [(X_test, y_test)]
    clf = XGBClassifier(max_depth=10, gamma=0.001, early_stopping_rounds=20, eval_set = evals)
    clf.fit(X_train, y_train)
    print(clf.predict(X_test))
    
    # 정확도
    print(clf.score(X_test, y_test))
    # feature의 중요도 파악 
    clf.feature_importances_
    반응형

    'data-science-summary > summary' 카테고리의 다른 글

    likelihood 와 maximum likelihood method 란? 간단정리  (0) 2020.09.20
    후진 제거법 (Backward Elimination) in python  (0) 2020.09.20
    LightGBM in python  (0) 2020.09.20
    GradientBoost in python  (0) 2020.09.20
    AdaBoost in python  (0) 2020.09.20

    댓글

Designed by Tistory.