问题标签 [catboostregressor]
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.
jupyter-notebook - 在调整 CatBoost 超参数时遇到问题
我正在做 Kaggle 的 Bulldozer-blue-book 项目。我目前正在使用 CatBoost 来查看是否可以改进我的模型。我这样实例化 CatBoost:
然后我尝试使用 RandomizedSearchCV 调整超参数:
现在,到目前为止,计算机需要很长时间才能将这些参数拟合到搜索中(比我调整 RandomForestRegressor 时要长得多)。昨天我在使用 GPU 时遇到了“内核停止”(不记得 Jupyter 是如何呈现错误的)。今天我正在实现CPU。搜索仍在全力进行,此时感觉模型陷入了无限循环,我只是在等待内核停止。我也尝试过使用 Google Colab,但是用于查找超参数的单元格也按时用完了。我在这里不知所措。
我是使用 CatBoost 的新手,有谁知道我是否错过了一个参数,或者 RandomizedSearchCV 是否没有完全为 Catboost 实现?
python - Catboost - java api 中的意外行为
我正在用 python 训练一个玩具模型,将模型二进制文件保存到磁盘,然后将其加载到 java (kotlin) 中并进行评估。我的预测在 python 和 kotlin 之间不一致。有人知道我在做什么错吗?
catboost - 了解 CatBoost 有序提升
在视频中 Anna Veronika Dorogush - CatBoost - 新一代梯度提升
她在 15:30 分钟谈论“对象”。她到底是什么意思?特征?列?行?
经典提升和有序提升之间究竟有什么区别?经典只是将所有决策树加起来吗?有序的是否仅使用之前随机分布的决策树并将它们相加?所以区别只是随机分布?
我希望有人可以帮助我,因为我很难理解这一点。
python - 无法导入名称“CatBoostRegressor”
我使用 pip install 成功安装了 catboost,但是当我在我的代码中导入 catboostregressor 时,它会抛出以下错误:
有任何想法吗?
catboost - Catboost calc_feature_statistics 不绘图
运行 catboost 网站 ( https://catboost.ai/docs/concepts/python-reference_catboost_calc_feature_statistics.html ) 上给出的示例脚本时,最后没有出现任何绘图,而只有空白区域。任何建议可能是什么原因?
regression - catboost 回归/CatBoostRegressor 上的销售预测错误
第 5 季的预期输出
我试过
上面的代码没有错误。
我的问题是:如果输入 5、6、7、8,我的预测值不会改变,但是季节是连续值。我做错了什么,我如何预测第 6、7、8 季等等。
python - 在 Catboost 中创建自定义损失函数
我正在尝试创建一个自定义的损失函数以在 Catboost 中使用。这是我要实现的功能:
这是我训练模型时遇到的错误
这是我正在尝试训练的模型
machine-learning - 如何在 CatBoostRegressor 中传递分类特征?
我有数据框汽车。它的结构描述如下:
我想制作一个使用 CatBoostRegressor 预测汽车价格的模型。我正在尝试这样:
我也尝试将 cat_features 放入模型和网格中。但这两种情况都没有帮助。
我该如何处理这个错误?
python - 将数据加载到 Catboost 池对象中
我正在训练 Catboost 模型并使用 Pool 对象,如下所示:
对于x_train
、和y_train
,它们来自类型(数据集保存为 Parquet 文件,我使用 PyArrow 将它们读入数据帧)。
是 Catboost 分类器/回归器。x_validation
y_validation
Pandas DataFrame
model
我正在尝试针对大型数据集进行优化,我的问题是:
- 将数据集读取到 Pandas DataFrame(使用 PyArrow),然后创建 Pool 对象时,我实际上是否将用于存储数据集的内存量翻了一番?我知道他们复制数据来构建池,它不是参考。
- 有没有更有效的方法来创建池?例如直接从
libsvm
文件加载它?就像这里提到的https://catboost.ai/docs/concepts/python-usages-examples.html#load-the-dataset-from-a-file - 有什么办法可以将数据批量加载到池中?而不是一开始就将所有内容都加载到内存中?
catboost - CatBoostError:c:/program files(x86)/go agent/pipelines/buildmaster/catboost.git/library/cpp/json/writer/json_value.cpp:457:不是字符串
我实例化了一个 CatBoostRegressor 模型,指定 cat_features,即 model = CatBoostRegressor(cat_features = cat_features) 其中 cat_features 是具有字符串值的列的名称列表,然后使用 model.grid_search() 调整一些超参数,如下所示:
- '迭代',
- 'model_size_reg',
- '学习率',
- '深度',
- 'l2_leaf_reg',
- “随机强度”,
- 'per_float_feature_quantization'
MetricVisualizer(layout=Layout(align_self='stretch', height='500px'))
最佳测试 = 1.049962963 最佳迭代 = 99
0:损失:1.0499630 最佳:1.0499630 (0) 总:2.85s 剩余:5h 8m 8s
最佳测试 = 0.1011160338 最佳迭代 = 99
1: loss: 0.1011160 best: 0.1011160 (1) total: 5.5s remaining: 4h 56m 39s
...
...
...直到第 1619 次迭代的几行之后:
1619:损失:0.0990363 最佳:0.0923730 (31) 总计:17h 55m 24s 剩余时间:2d 5h 46m 13s 估计最终质量...
引发了一个 CatBoostError,它以以下内容结束:
... <catboost\core.py 目录> in _prepare_train_params(self, X, y, cat_features, text_features, pairs, sample_weight, group_id, group_weight, subgroup_id, pairs_weight, baseline, use_best_model, eval_set, verbose, logging_level, plot, column_description ,verbose_eval,metric_period,静默,early_stopping_rounds,save_snapshot,snapshot_file,snapshot_interval,init_model)1657 _check_param_types(params)1658 params = _params_type_cast(params)-> 1659 _check_train_params(params)1660 1661 eval_set_list = eval_set if isinstance(eval_set)评估集]
_catboost._check_train_params() 中的 _catboost.pyx
_catboost._check_train_params() 中的 _catboost.pyx
CatBoostError:c:/program files(x86)/go agent/pipelines/buildmaster/catboost.git/library/cpp/json/writer/json_value.cpp:457:不是字符串
问题是我的程序文件(x86)文件夹中甚至没有“go agent”目录。我曾尝试在网上搜索此类错误,但最接近的匹配项是“不是地图”,这似乎与我的错误无关,它位于最后,而是“不是字符串”。已经检查了我所有的 cat_features 都是字符串列......那么“不是字符串”到底是什么?
此外,我似乎无法找到指定“_check_train_params()”函数的 .pyx 文件。与具有该文件扩展名的文件最接近的匹配是具有 .pyd 扩展名的文件,我丝毫不知道可以使用什么软件来打开这种扩展名的文件。
任何帮助将不胜感激,在此先感谢。