-
LightGBM in pythondata-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