2016-02-29 3 views
-1

Предположим, что данные имеют как числовые & catagoricial, так и я создал модель xgboost с помощью gblinear. Я проанализировал модель xgboost с xgb.importance, тогда как я могу выразить категориальные переменные веса?gblinear xgboost в R

ответ

1

В то время как XGBoost является моделью considered to be a black box, вы можете понять важность функции (как для категориальной, так и для цифровой) путем усреднения коэффициента усиления каждой функции для всех разделенных и всех деревьев.

Это представлено на графике ниже.

# Get the feature real names 
names <- dimnames(trainMatrix)[[2]] 

# Compute feature importance matrix 
importance_matrix <- xgb.importance(names, model = bst) 

# Nice graph 
xgb.plot.importance(importance_matrix[1:10,]) 

enter image description here

В художественном значении выше, мы можем увидеть первые 10 наиболее важные особенностей.

Эта функция дает цвет каждой панели. В основном кластеризация K-средних применяется для группировки каждой функции по важности.

В качестве альтернативы это может быть представлено в виде древовидной диаграммы (см. Ссылку выше).

Смежные вопросы