问题标签 [catboost]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2636 浏览

python - 如何使用 sklearn 管道跟踪 catboost 的分类索引

我想跟踪 sklearn 管道中的分类特征索引,以便将它们提供给 CatBoostClassifier。

我从管道的 fit() 之前的一组分类特征开始。管道本身会改变数据的结构并在特征选择步骤中删除特征。

我如何预先知道哪些分类特征将被删除或添加到管道中?当我调用 fit() 方法时,我需要知道更新的列表索引。问题是,我的数据集在转换后可能会发生变化。

这是我的数据框的示例:

现在我想运行一个包含多个步骤的管道。其中一个步骤是 VarianceThreshold(),在我的情况下,它将导致从数据框中删除“性别”。

现在,当我尝试获取 CatBoost 的分类特征索引列表时,我无法判断“性别”不再是我的数据框的一部分。

索引 0、3 是错误的,因为在 VarianceThreshold 之后,特征 3(性别)将被删除。

我希望 cat_features 为 [0],但实际输出为 [0, 3]。

0 投票
2 回答
3224 浏览

decision-tree - shap.force_plot() 引发异常:在 v0.20 中 force_plot 现在需要基值作为第一个参数

我正在使用 Catboost 并希望可视化 shap_values:

然后我执行以下操作并引发异常:

例外:在 v0.20 中 force_plot 现在需要将基值作为第一个参数!尝试 shap.force_plot(explainer.expected_value, shap_values) 或多输出模型尝试 shap.force_plot(explainer.expected_value[0], shap_values[0])。

以下工作,但我想让 force_plot() 工作:

我阅读了文档,但无法理解解释器。我试过了:

但我得到:TypeError: ufunc 'isnan' not supported for the input types,并且输入无法根据转换规则 ''safe'' 安全地强制转换为任何支持的类型

谁能指出我正确的方向?谢谢

0 投票
0 回答
788 浏览

python - Python 包 catboost plot_tree

我试图用catboostin绘制分类器树jupyter notebook
但是,它似乎不受Python 3.

我按照此链接进行绘图,但出现错误。

似乎该字符串python 3不再具有解码方法。(这里)有
什么建议吗?

0 投票
1 回答
3421 浏览

python - Catboost 分类特征数据类型转换

我想在泰坦尼克号数据集中做出预测。

我想尝试 catboost 并遵循本指南:https ://www.analyticsvidhya.com/blog/2017/08/catboost-automated-categorical-data/ 但是当我尝试复制时它不起作用

我尝试按照指南进行操作,我认为 catboost 会处理所有数据转换,因为您可以在指南中看到他正在使用 dtypes object,float,int

我收到以下错误:

0 投票
2 回答
3061 浏览

catboost - 在 catboostclassifier 中使用 class_weights

如何在使用 CatboostClassifier 解决多类问题时使用“class_weights”。文档说它应该是一个列表,但是我需要按什么顺序放置权重?我有一个标签数组,其中包含从 -2 到 +2 的 15 个类,包括十进制数,与其他类相比,0 类的密度要高得多。请帮忙。谢谢,

我尝试了更容易使用但不知道多类的二进制类。

cb_model_step1 = run_catboost(X_train,y_train_new,X_test,y_test_new,n_estimators = 1000,详细 = 100,eta = 0.3,loss_function = 'MultiClassOneVsAll',class_weights = counter_new)

cb = CatBoostClassifier(thread_count=4, n_estimators=n_estimators, max_depth=10, class_weights = class_weights, eta=eta, loss_function = loss_function)

0 投票
0 回答
366 浏览

python-3.x - 在 conda 环境中导入 catboost ubuntu18.04 时出错

导入 catboost 时出错。从 catboost 导入 CatBoostRegressor。

我在 ubuntu 上使用 conda。按照官方网站上建议的方式安装 catboost。但是在导入时遇到错误。

0 投票
0 回答
96 浏览

catboost - 具有分类数据的保存池(Python 包)

我有一个主要由分类特征组成的数据集。为了支持我们的 ML 工作流程,包括超参数调整,我想保存量化池。看来这不受支持(见下文)。当池包含分类特征时,对池进行快照以供重用的最佳实践方法是什么?

我正在使用 Catboost 0.17.4。

0 投票
1 回答
175 浏览

catboost - catboost 特征图中的“不同特征值的预测”曲线是什么?

我指的情节可以在这里找到。它是通过调用 calc_feature_statistics 函数来重现的。

我很清楚蓝色和橙色曲线(平均目标和平均预测)代表什么。红线是什么(不同特征值的预测)?

0 投票
1 回答
372 浏览

python - 如何提高准确率和召回率

嗨,我正在尝试创建一个具有高召回率和精度值的员工晋升算法,试图适应我的模型,但得到这个错误请帮助下面是我到目前为止的作品的协作链接 https://colab.research.google。 com/drive/1ugKUswSjwnrfActsu2E-1gSg94ylwUJK

0 投票
1 回答
769 浏览

python - 具有 StratifiedKFold 的 CatboostRegressor 的值错误

我刚开始学习 Catboost 并尝试将 CatboostRegressor 与 StratifiedKFold 一起使用,但遇到了错误:

这是已编辑的帖子,其中包含完整的代码块和错误以进行澄清。此外,还尝试了 for i, (train_index, test_index) in enumerate(fold.split(X,y)): 没有工作。