Я хочу знать важность функции для моих данных, поэтому я использую permutation_importance. Когда я получаю результат, кажется, что функция уже декодирована, и я хочу узнать имя моей функции, используя get_features_name_out. Получается ошибка: у объекта StandardScaler нет атрибута get_feature_names_out . Если я попытаюсь интерпретировать вручную, боюсь, в заказе произошла ошибка. Должно быть (3,0,1,2) по порядку. Курильщик, возраст, ИМТ, пол.
Вот код
import numpy as np
import pandas as pd
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder, StandardScaler
from sklearn.neighbors import KNeighborsRegressor
from sklearn.model_selection import train_test_split
from sklearn.inspection import permutation_importance
# Prepare data
X = df[['age', 'bmi', 'sex', 'smoker']]
y = df['charges']
# Define the preprocessor
categorical_transformer = OneHotEncoder(drop='first', sparse=False)
numerical_transformer = StandardScaler()
preprocessor = ColumnTransformer(
transformers=[
('num', numerical_transformer, ['age', 'bmi']),
('cat', categorical_transformer, ['sex', 'smoker'])
]
)
# Preprocess the data
X_preprocessed = preprocessor.fit_transform(X)
# Extract feature names
num_features = numerical_transformer.get_feature_names_out(['age', 'bmi'])
cat_features = categorical_transformer.get_feature_names_out(['sex', 'smoker'])
feature_names = np.concatenate([num_features, cat_features])
# Split the data
X_train, X_test, y_train, y_test = train_test_split(X_preprocessed, y, test_size=0.2, random_state=42)
# Train KNeighborsRegressor
knn_regressor = KNeighborsRegressor()
reg_model = knn_regressor.fit(X_train, y_train)
# Evaluate feature importance using permutation importance
results = permutation_importance(knn_regressor, X_test, y_test, n_repeats=10, random_state=42, scoring='neg_mean_squared_error')
# Display feature importances with names
for i, importance in enumerate(results.importances_mean):
print(f"Feature '{feature_names[i]}': Importance: {importance}")
sorted_indices = np.argsort(results.importances_mean)
for i in sorted_indices[::-1]:
print(f"Feature '{feature_names[i]}', Importance: {results.importances_mean[i]}")
Я хочу знать названия функций. И, возможно, объяснение того, почему порядок важности признаков неверен, потому что я вручную строю график между зарядами и каждым признаком, правильный порядок должен быть курильщик, возраст, ИМТ, пол.
Я хочу знать важность функции для моих данных, поэтому я использую permutation_importance. Когда я получаю результат, кажется, что функция уже декодирована, и я хочу узнать имя моей функции, используя get_features_name_out. Получается ошибка: у объекта StandardScaler нет атрибута get_feature_names_out . Если я попытаюсь интерпретировать вручную, боюсь, в заказе произошла ошибка. Должно быть (3,0,1,2) по порядку. Курильщик, возраст, ИМТ, пол. Вот код [code]import numpy as np import pandas as pd from sklearn.compose import ColumnTransformer from sklearn.preprocessing import OneHotEncoder, StandardScaler from sklearn.neighbors import KNeighborsRegressor from sklearn.model_selection import train_test_split from sklearn.inspection import permutation_importance
# Prepare data X = df[['age', 'bmi', 'sex', 'smoker']] y = df['charges']
# Display feature importances with names for i, importance in enumerate(results.importances_mean): print(f"Feature '{feature_names[i]}': Importance: {importance}")
sorted_indices = np.argsort(results.importances_mean) for i in sorted_indices[::-1]: print(f"Feature '{feature_names[i]}', Importance: {results.importances_mean[i]}") [/code] Я хочу знать названия функций. И, возможно, объяснение того, почему порядок важности признаков неверен, потому что я вручную строю график между зарядами и каждым признаком, правильный порядок должен быть курильщик, возраст, ИМТ, пол.
Я использую библиотеку CSipSimple для функции вызовов VoIP в своем приложении для Android, и недавно мое приложение было отклонено в магазине Play, поскольку версия OpenSSL с этими библиотеками была старой. Мне нужно обновить файлы .so PJSIP в...
Новичок в Opentelemetry-CPP, поэтому я написал небольшое тестовое приложение под Ubuntu 22, чтобы сгенерировать и отправить запись журнала GRCP. Приложение компилирует и запускается, а журналы OTEL Collector показывают получение сообщения. С помощью...
Я использую ссылку на инструмент rome для анализа канала. При анализе определенных каналов я получаю ошибку ниже типа документа.
// Sample code
import com.rometools.rome.feed.synd.SyndEntry;
import com.rometools.rome.feed.synd.SyndFeed;
import...
Я использую ссылку на инструмент rome для анализа канала. При анализе определенных каналов я получаю ошибку ниже типа документа.
// Sample code
import com.rometools.rome.feed.synd.SyndEntry;
import com.rometools.rome.feed.synd.SyndFeed;
import...