标签: catboost

用于处理 cat boost 的不平衡数据

catboost 包中是否有像我们过去在 python 中的 xgboost 包中使用的“scale_pos_weight”这样的参数?

python-3.x catboost

5
推荐指数
2
解决办法
9821
查看次数

Catboost:l2_leaf_reg 的合理值是多少?

在大型数据集(约 1M 行,500 列)上运行 catboost,我得到:训练已停止(迭代 0 时的退化解决方案,可能 l2 正则化太小,尝试增加它)。

我如何猜测 l2 正则化值应该是多少?它与 y 的平均值、变量数量、树深度有关吗?

谢谢!

machine-learning boosting catboost

5
推荐指数
1
解决办法
5108
查看次数

适用于具有多个块的海量数据(~22GB)的 Catboost 训练模型

我正在尝试使用 csv 文件中大约 22GB 的数据来训练 CatboostClassifier,该文件大约有 50 列。我尝试在 pandas 数据框中一次性加载所有数据,但无法做到这一点。无论如何,我可以在 catboost 中使用多个数据帧块来训练模型吗?

python pandas catboost

4
推荐指数
1
解决办法
6368
查看次数

如何让 catboost 可视化显示类别

考虑以下数据:

import pandas as pd
y_train = pd.DataFrame({0: {14194: 'Fake', 13891: 'Fake', 13247: 'Fake', 11236: 'Fake', 2716: 'Real', 2705: 'Real', 16133: 'Fake', 7652: 'Real', 7725: 'Real', 16183: 'Fake'}})

X_train = pd.DataFrame({'one': {14194: 'e',
  13891: 'b',
  13247: 'v',
  11236: 't',
  2716: 'e',
  2705: 'e',
  16133: 'h',
  7652: 's',
  7725: 's',
  16183: 's'},
 'two': {14194: 'a',
  13891: 'a',
  13247: 'e',
  11236: 'n',
  2716: 'c',
  2705: 'a',
  16133: 'n',
  7652: 'e',
  7725: 'h',
  16183: 'e'},
 'three': {14194: 's',
  13891: 'l',
  13247: 'n',
  11236: …
Run Code Online (Sandbox Code Playgroud)

python machine-learning catboost

4
推荐指数
1
解决办法
2710
查看次数

CatBoost——抑制网格搜索中的迭代结果

我正在尝试使用 CatBoost 分类器。使用它我确实使用方法执行网格搜索randomised_search()。不幸的是,该方法将针对每个尝试的模型构建的每个树的迭代结果打印到标准输出。

有一个参数应该控制这个:verbose。理想情况下,可以将 verbose 设置为 False 以禁止所有标准输出打印,或者设置为整数,指定报告的模型之间的间隔(模型,无树)。

你知道如何控制这个吗?我在日志文件中收到数百万行...

这个问题在某种程度上与如何抑制 CatBoost 迭代结果?,但与该fit()方法相关,该方法还有一个logging_level和静默参数。另一种方法是cv()交叉验证,它响应于logging_level='Silent'删除所有输出。

python catboost

4
推荐指数
1
解决办法
2596
查看次数

使用 catboost 进行排名任务

我想知道如何为排名任务配置 catboost。catboost 主页暗示它可以用于排名任务。然而,排名任务的文档似乎很少:https : //tech.yandex.com/catboost/doc/dg/concepts/cli-reference_train-model-docpage/

并且所有教程都专注于对单个实例进行分类:https : //github.com/catboost/catboost/tree/master/catboost/tutorials

理想情况下,会有一些类似于 LightGBM 的文档或示例用于排名:https : //github.com/Microsoft/LightGBM/tree/master/examples/lambdarank

有没有人用过 catboost 进行排名?

machine-learning ranking catboost

3
推荐指数
1
解决办法
3089
查看次数

在 R 中使用 Caret 保存并加载 catboost 模型

我能够使用插入符号(在 Rstudio 中)训练 Catboost 模型,并且效果很好。

my_catboost <- caret::train(x, y, 

              method=catboost.caret, 
              trControl=fitControl, 
              tuneGrid = param,
              metric = "ROC")
Run Code Online (Sandbox Code Playgroud)

如果我使用该模型来预测同一会话中的新数据,没问题,它可以工作:

output <- caret::predict.train(my_catboost, newdata=x_testing, type="prob")
Run Code Online (Sandbox Code Playgroud)

但是,如果我保存模型并稍后加载(或保存模型,删除“my_catboost”并加载),则函数预测将使 R 和 Rstudio 崩溃,并且不会出现错误消息,并且在 Rstudio 日志中找不到任何内容。加载后,我可以看到在全局环境中创建的模型,看起来不错。

我尝试了 R 函数保存和加载、saveRDS 和 readRDS,但都崩溃了

谢谢 !

r r-caret catboost

3
推荐指数
1
解决办法
2799
查看次数

Catboost 默认超参数

如何返回 CatBoost 模型的所有超参数?

注意:我不认为这是Print CatBoost 超参数的重复,因为该问题/答案不能满足我的需要。

例如,使用 sklearn 我可以做到:

rf = ensemble.RandomForestClassifier(min_samples_split=2)
print rf

RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
            max_depth=None, max_features='auto', max_leaf_nodes=None,
            min_impurity_decrease=0.0, min_impurity_split=None,
            min_samples_leaf=1, min_samples_split=2,
            min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=1,
            oob_score=False, random_state=None, verbose=0,
            warm_start=False)
Run Code Online (Sandbox Code Playgroud)

这将返回所有超参数,我定义的参数和其他默认值。

使用 Catboost 我可以使用 .get_params() 但它似乎只返回用户指定的参数:

cat = CatBoostClassifier(loss_function='Logloss',
                         verbose = False,
                        eval_metric='AUC',
                        iterations=500,
                         thread_count = None,
                        random_state=SEED)
print cat.get_params()

{'iterations': 500, 'random_state': 42, 'verbose': False, 'eval_metric': 'AUC', 'loss_function': 'Logloss'}
Run Code Online (Sandbox Code Playgroud)

例如,我想知道使用了什么 learning_rate,但理想情况下可以获取整个列表。

python machine-learning catboost

3
推荐指数
2
解决办法
2802
查看次数

CatBoost 中的多类多标签分类

我需要使用 CatBoost 执行多类多标签分类。

示例数据:

X = [[1, 2, 3, 4], [2, 3, 5, 1], [4, 5, 1, 3]]

y = [[3, 1], [2, 8], [7, 8]]
Run Code Online (Sandbox Code Playgroud)

你能提供一个工作示例吗?

我想我需要用一些 sklearn 分类器包装 CatBoostClassifier。

谢谢!

catboost

3
推荐指数
1
解决办法
3795
查看次数

如何与Catboost过度安装检测器一起使用

我试图了解catboost过拟合检测器。此处描述:

https://tech.yandex.com/catboost/doc/dg/concepts/overfitting-detector-docpage/#overfitting-detector

其他渐变增强包(例如lightgbm和xgboost)使用一个名为early_stopping_rounds的参数,该参数很容易理解(一旦在Early_stopping_round步骤中验证错误没有减少,它就会停止训练)。

但是,我很难理解catboost使用的p_value方法。谁能解释这个过拟合检测器的工作原理以及何时停止训练?

catboost

2
推荐指数
2
解决办法
3236
查看次数

标签 统计

catboost ×10

machine-learning ×4

python ×4

boosting ×1

pandas ×1

python-3.x ×1

r ×1

r-caret ×1

ranking ×1