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' 카테고리의 다른 글

    댓글

Designed by Tistory.