[파이썬] xgboost의 피처 중요도

개요

xgboost는 현재 많은 데이터 과학자들에게 널리 사용되는 강력한 머신러닝 알고리즘입니다. 이 모델은 다양한 분야에서 높은 성능을 보여주며, 그 성능의 일부는 피처 중요도에 기인하고 있습니다. 피처 중요도란 각각의 피처가 모델에 얼마나 영향을 미치는지를 나타내는 지표입니다.

이번 블로그 포스트에서는 xgboost 모델에서 피처 중요도를 계산하는 방법에 대해 알아보겠습니다. 파이썬을 사용하여 피처 중요도를 계산하고 시각화하는 과정을 단계별로 설명하겠습니다.

코드 예시

먼저, xgboost 라이브러리를 설치하고 필요한 패키지를 import합니다. 다음으로, 분석할 데이터를 불러옵니다.

# xgboost 라이브러리 설치
!pip install xgboost

# 필요한 패키지 import
import pandas as pd
import xgboost as xgb
import matplotlib.pyplot as plt

# 데이터 불러오기
data = pd.read_csv('data.csv')

# 데이터 예시
print(data.head())

다음으로, 데이터를 피처와 타겟 변수로 나눕니다. 피처와 타겟 변수는 xgboost 모델을 학습할 때 사용됩니다.

# 피처와 타겟 변수 분리
X = data.drop(columns=['target'])
y = data['target']

이제 xgboost 모델을 정의하고 학습시킵니다. 학습된 모델을 사용하여 피처 중요도를 계산하고, 이를 데이터프레임 형태로 변환합니다.

# xgboost 모델 정의
model = xgb.XGBClassifier()
# 모델 학습
model.fit(X, y)

# 피처 중요도 계산
importance = model.feature_importances_

# 중요도를 데이터프레임 형태로 변환
importance_df = pd.DataFrame({'Feature': X.columns, 'Importance': importance})

마지막으로, 계산된 피처 중요도를 시각화합니다. 이를 통해 어떤 피처이 가장 중요한 역할을 하는지 한눈에 파악할 수 있습니다.

# 피처 중요도 시각화
plt.bar(importance_df['Feature'], importance_df['Importance'])
plt.xlabel('Feature')
plt.ylabel('Importance')
plt.title('xgboost Feature Importance')
plt.xticks(rotation=90)
plt.show()

결론

xgboost의 피처 중요도는 각각의 피처가 모델에 얼마나 영향을 미치는지를 나타냅니다. 이번 포스트에서는 피처 중요도를 계산하고 시각화하는 방법에 대해 알아보았습니다. 이를 통해 데이터 과학자들은 모델의 핵심 피처를 파악하고 해당 피처를 효과적으로 활용할 수 있습니다. xgboost를 활용하여 피처 중요도를 분석하는 것은 모델의 성능을 향상시키는 데 도움이 될 것입니다.