регрессии?
Пока самое разумное что нашёл на эту тему - https://arxiv.org/pdf/2006.10562.pdf с сайта катбуста
Есть такой пример: import numpy as np import pandas as pd import catboost from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error from sklearn.datasets import load_boston boston = load_boston() X = pd.DataFrame(boston.data, columns=boston.feature_names) y = boston.target X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=12345) model = catboost.CatBoostRegressor(iterations=100, learning_rate=0.1, depth=3, loss_function='RMSE') model.fit(X_train, y_train) preds = model.predict(X_test) print('RMSE:', mean_squared_error(y_test, preds) ** 0.5) print('Неопределённость предсказаний:') print('Среднее:', np.mean(model.get_feature_importance(type='PredictionValuesChange'))) print('Медиана:', np.median(model.get_feature_importance(type='PredictionValuesChange'))) print('Максимум:', np.max(model.get_feature_importance(type='PredictionValuesChange'))) print('Минимум:', np.min(model.get_feature_importance(type='PredictionValuesChange')))
Так? from catboost import EFstrType def get_forecast_confidence(model, X): """ :param model: Catboost model :param X: dataframe with features :return: forecast confidence for each object """ pred = model.predict(X) pred_std = np.sqrt(model.get_feature_importance(type=EFstrType.PredictionValuesChange)) return pred, pred_std
Спасибо, проверю
Обсуждают сегодня