Важность функций с ColumnTransform и OneHotEncoder в RandomForestClassifierPython

Программы на Python
Ответить
Anonymous
 Важность функций с ColumnTransform и OneHotEncoder в RandomForestClassifier

Сообщение Anonymous »

Извините за беспокойство, но после поиска на сайте мне не удалось найти однозначного ответа.
Я создаю RandomForestClassifier на основе некоторых клинических данных, где целевая переменная (результат) является двоичным (0 или 1). Для реализации этого я использую Python и scikit-learn.
Набор данных состоит как из категориальных, так и из числовых переменных, и я работаю с конвейером предварительной обработки.

Код: Выделить всё

numeric_transformer = Pipeline(steps=[
("imputer", IterativeImputer(max_iter=20, random_state=42)),
("scaler", StandardScaler())
])

categorical_transformer = Pipeline(steps=[
("imputer", SimpleImputer(strategy="most_frequent")),
("onehot", OneHotEncoder(handle_unknown="ignore"))
])

preprocessor = ColumnTransformer(
transformers=[
("num", numeric_transformer, numeric_columns),
("cat", categorical_transformer, categorical_columns)
]
)

model = RandomForestClassifier(random_state=42)

pipeline = Pipeline(steps=[
("preprocessor", preprocessor),
("model", model)
])

grid_search = GridSearchCV(pipeline, param_grid, cv=5, scoring="balanced_accuracy", verbose=4, n_jobs = -1)

После получения модели под названием Final_model, когда я пытаюсь извлечь важность признаков с помощью Final_model.feature_importances_, я получаю массив из 116 значений, что соответствует количеству переменных в моем наборе данных.
Вопрос. Поскольку я использовал OneHotEncoder для категориальных переменных, не следует ли мне ожидать более 116 значений в массиве? Я считаю, что ответ заключается в том, как ColumnTransformer обрабатывает преобразования, но я немного запутался.
Буду очень признателен за любые разъяснения!
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/792 ... estclassif
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»