ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • LightGBM in python
    data-science-summary/summary 2020. 9. 20. 17:13
    반응형

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

    LightGBM (Gradient Boosting Algorithm)

    기존 Gradient Boostring 과 같은 알고리즘은 트리 구조를 균형을 잡기위해 즉, 깊이를 줄이기위해 균형 트리(level wise) 방식으로 쌓아같지만

    LightGBM 은 균형보다는 리프 노드를 지속적으로 쭉 분할(leaf wise)하면서 진행하여 비대칭이고 깊은 트리를 만든다.

    따라서 연산이 덜 요구되어 빠르며 균형 트리 보다는 손실을 줄일수 있음

    대용량 처리 가능, 다른 모델들보다 더 적은 자원을 사용하고 빠르다는 장점을 가지고 있음

    단점은 너무 적은수의 데이터일 경우에는 과적합 문제가 발생할수 있음

    from sklearn.datasets import make_classification
    from lightgbm import LGBMClassifier
    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)
    # learning_rate : 학습률 / n_estimators: 결정 트리개수, max_depth: 트리 깊이
    clf = LGBMClassifier(learning_rate=0.05, n_estimators=10, max_depth=10)
    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' 카테고리의 다른 글

    후진 제거법 (Backward Elimination) in python  (0) 2020.09.20
    XGBoost in python  (0) 2020.09.20
    GradientBoost in python  (0) 2020.09.20
    AdaBoost in python  (0) 2020.09.20
    Random Forest in python  (0) 2020.09.20

    댓글

Designed by Tistory.