XGBoost는 강력한 기계 학습 알고리즘으로 알려져 있습니다. 그러나 모델의 결과를 이해하고 조정하는 것은 도전적일 수 있습니다. 이런 경우에 대화식 시각화 도구를 활용하여 모델의 동작 및 결과를 시각화할 수 있습니다. 이 글에서는 Python에서 xgboost 모델의 대화식 시각화에 대해 알아보겠습니다.
패키지 설치
대화식 시각화를 위해 다음 패키지를 설치해야 합니다: graphviz와 matplotlib, 그리고 xgboost.
pip install graphviz matplotlib xgboost
모델 훈련
먼저, xgboost 모델을 훈련시켜야 합니다. 이 예제에서는 유방암 데이터셋을 사용합니다. 다음과 같이 데이터를 불러와서 모델을 훈련합니다.
import xgboost as xgb
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
# 데이터 로드
data = load_breast_cancer()
X, y = data.data, data.target
# 학습 데이터와 테스트 데이터로 분할
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# xgboost 모델 훈련
model = xgb.XGBClassifier()
model.fit(X_train, y_train)
트리 시각화
xgboost에서는 학습된 모델의 트리를 시각화할 수 있는 plot_tree
함수를 제공합니다.
import matplotlib.pyplot as plt
# 트리 시각화
xgb.plot_tree(model, num_trees=0)
plt.show()
위의 코드는 첫 번째 트리를 시각화한 것입니다. num_trees
매개변수를 조정하여 원하는 트리를 선택할 수 있습니다.
중요도 시각화
또한, xgboost에서는 변수의 상대적 중요도를 시각화하는 plot_importance
함수를 제공합니다.
# 중요도 시각화
xgb.plot_importance(model)
plt.show()
위의 코드는 모델의 변수 중요도를 시각화하는 것입니다. 변수 중요도는 훈련에 얼마나 기여하는지를 나타내는 값입니다.
결론
대화식 시각화는 xgboost 모델을 이해하고 조정하는 데 도움이 됩니다. 트리 시각화와 변수 중요도 시각화를 통해 모델의 동작 및 변수의 영향력을 쉽게 파악할 수 있습니다. 이를 통해 모델의 성능과 해석력을 향상시킬 수 있습니다.
이상으로 xgboost에서의 대화식 시각화에 대해 알아보았습니다. 즐거운 모델 탐색과 분석에 도움이 되길 바랍니다!