原论文:

http://learningsys.org/nips17/assets/papers/paper_11.pdf

catboost****原理:

One-hot编码可以在预处理阶段或在训练期间完成。后者对于训练时间而言能更有效地执行,并在Catboost中执行。

类别特征:

为了减少过拟合以及使用整个数据集进行训练,Catboost使用更有效的策略。

1、对输入的观察值的集合进行随机排列,生成多个随机排列;

2、给定一个序列,对于每个例子,对于相同类别的例子我们计算平均样本值;

3、使用如下公式将所有的分类特征值转换为数值:

,那么可以代替为

在这里,我们还增加了先验值P和参数a>0,即为先验的权重。添加先验是一种常见的做法,它有助于减少从低频类别获得的噪声。

特征组合:

在数据集中,组合的数量随类别特征个数成指数型增长,在算法中不太可能考虑所有。在当前树考虑新的拆分时,Catboost以贪婪的方式考虑组合。

1、 第一次分裂不考虑任何组合在树上;

2、 对于下一次分类,在有所有类别特征的数据集的当前树,Catboost包含了所有的组合和分类特征。组合值即被转换为数字;

3、 Catboost还以以下方式生成数值和类别特征的组合:在树中选择的所有分裂视为具有两个值的类别,并在组合中也类似使用。

python****代码:

import catboostmodel = CatBoostClassifier(iterations=17000,\#                              depth = 6,learning_rate = 0.03,custom_loss='AUC',eval_metric='AUC',bagging_temperature=0.83,od_type='Iter',rsm = 0.78,od_wait=150,metric_period = 400,l2_leaf_reg = 5,thread_count = 20,random_seed = 967)model.fit(tr_x, tr_y, eval_set=(te_x, te_y),use_best_model=True)pre= model.predict_proba(te_x)[:,1].reshape((te_x.shape[0],1))train[test_index]=pretest_pre[i, :]= model.predict_proba(test_x)[:,1].reshape((test_x.shape[0],1))print (roc_auc_score(te_y, pre))cv_scores.append(roc_auc_score(te_y, pre))

catboost原理以及Python代码相关推荐

  1. 随机森林分类算法python代码_随机森林的原理及Python代码实现

    原标题:随机森林的原理及Python代码实现 最近在做kaggle的时候,发现随机森林这个算法在分类问题上效果十分的好,大多数情况下效果远要比svm,log回归,knn等算法效果好.因此想琢磨琢磨这个 ...

  2. 弗雷歇距离的原理及python代码实现(动态规划)

    弗雷歇距离的原理及python代码实现(动态规划) 在网上看了很多关于弗雷歇距离的介绍,结合自己的理解,出一版更通俗易懂.更清晰具体的解释. 最简单的解释自然是最短狗绳长度,但我将从另一个角度来解释它 ...

  3. CRC爆破png图片宽度和高度原理以及python代码

    CRC爆破png图片宽度和高度原理以及python代码 文章目录 CRC爆破png图片宽度和高度原理以及python代码 1.PNG图片的格式 2.CRC 3.Python爆破图片宽度和高度 参考文章 ...

  4. 模式识别中利用二型势函数法求解非线性分类器的原理以及python代码实现

    前言 在学校的深度学习实验过程中,由于要求实现非线性分类器的势函数实验中给出的例程代码是matlab语言的(ps:自从电脑被偷了以后,新电脑没有装matlab),我便想到用python实现非线性分类器 ...

  5. python原理及代码_lightgbm原理以及Python代码

    原论文: lightgbm原理: gbdt困点: gbdt是受欢迎的机器学习算法,当特征维度很高或数据量很大时,有效性和可拓展性没法满足.lightgbm提出GOSS(Gradient-based O ...

  6. 深入浅出通信原理(Python代码版)

    深入浅出通信原理Python代码版 深入浅出通信原理是陈爱军的心血之作,于通信人家园连载,此处仅作python代码笔记训练所用 陈老师的连载从多项式乘法讲起,一步一步引出卷积.傅立叶级数展开.旋转向量 ...

  7. 看不懂掐死我系列之支持向量机(SVM)从原理到python代码实现

    在如下图所示的二分类问题里,我们在训练分类器时就是希望找到一个最优的超平面.直观来讲,我们希望找到如图所示的一个通道(Margin)能够区分正负样本,最大化其宽度,取其中间线为超平面.直观来说,这样得 ...

  8. apriori算法代码python_Apriori算法原理及Python代码

    一.Apriori算法原理 参考:Python --深入浅出Apriori关联分析算法(一)​www.cnblogs.com 二.在Python中使用Apriori算法 查看Apriori算法的帮助文 ...

  9. 决策树原理实例(python代码实现)_决策树原理实例(python代码实现)

    决策数(Decision Tree)在机器学习中也是比较常见的一种算法,属于监督学习中的一种.看字面意思应该也比较容易理解,相比其他算法比如支持向量机(SVM)或神经网络,似乎决策树感觉"亲 ...

最新文章

  1. jQuery中Map的使用
  2. 又一所新大学来了!投资百亿,对标国际一流大学
  3. 显示器接口_显示器带全能Type-C接口用起来有多爽?
  4. 《游戏编程模式》一第7章 状态模式
  5. 通过3点计算出一元二次方程解析式
  6. crontab每隔1小时运行一次
  7. 利用逆矩阵解线性方程组_(非)线性方程组求解库大全
  8. 使用scipy来进行曲线拟合
  9. 绕过disable_functions,LD_PRELOAD hijack so file
  10. Python初学者(零基础学习Python、Python入门)常见问题:书籍推荐、资料、社区
  11. PCM与DSD究竟是什么??
  12. vue:不同环境配置不同打包命令
  13. Java大牛给初学者的学习路线建议
  14. Discover Your Missed ASM Disks
  15. 超声的pacs系统和dicom服务器,PACS系统中DICOM/HL7网关与DICOM服务器的研究与实现
  16. iPhone无法充电小技巧
  17. 数据统计分析案例(对比分析、销量定比分析、同比、双坐标图、环比、shift、贡献度分析(帕累托法则)、差异化分析、resample、季节性波动分析)
  18. GWAS理论 1-3 群体结构与亲缘关系评估
  19. Syntax Error :error node sass version xxx is incompatible with xxx
  20. SDN/NFV重构下一代网络

热门文章

  1. websocket之一:websocket简介
  2. Linux安装pecl和pear
  3. (转)linux内核虚拟文件系统浅析
  4. windows下安装python mysqldb
  5. 黄聪:C#代码生成工具:文本模板初体验 Hello,World!
  6. SSH框架--Struts的故事
  7. SAP删除会计科目 OBR2
  8. 成本中心主数据屏幕增强
  9. 几种内表更新方式的性能比较
  10. ECC6.0中数据导出到本地时报错GETWA_NOT_ASSIGNED