Как узнать, какие признаки влияют на результат?

Есть данные

df = pd.read_csv("X_train.csv")

Проделал xgBoost, леса и узнал "ценные признаки".

Мой код получения важных признаков с помощью буста:

X,y = df.drop('class', axis=1), df['class'].copy()
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=7)
d_train = xgboost.DMatrix(X_train, label=y_train)
d_test = xgboost.DMatrix(X_test, label=y_test)

params = {
    "eta": 0.01,
    "objective": "binary:logistic",
    "subsample": 0.5,
    "base_score": np.mean(y_train),
    "eval_metric": "logloss"
}
model = xgboost.train(params, d_train, 1000, evals = [(d_test, "test")], verbose_eval=100, early_stopping_rounds=20)

xgboost.plot_importance(model, max_num_features = 10)

Но у меня значения на выходе 0 и 1, как узнать, какие признаки (или какое значение), к примеру, больше всего влияют на то, что на выходе окажется1?


Ответы (0 шт):