catboost原理以及Python代码
原论文:
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代码相关推荐
- 随机森林分类算法python代码_随机森林的原理及Python代码实现
原标题:随机森林的原理及Python代码实现 最近在做kaggle的时候,发现随机森林这个算法在分类问题上效果十分的好,大多数情况下效果远要比svm,log回归,knn等算法效果好.因此想琢磨琢磨这个 ...
- 弗雷歇距离的原理及python代码实现(动态规划)
弗雷歇距离的原理及python代码实现(动态规划) 在网上看了很多关于弗雷歇距离的介绍,结合自己的理解,出一版更通俗易懂.更清晰具体的解释. 最简单的解释自然是最短狗绳长度,但我将从另一个角度来解释它 ...
- CRC爆破png图片宽度和高度原理以及python代码
CRC爆破png图片宽度和高度原理以及python代码 文章目录 CRC爆破png图片宽度和高度原理以及python代码 1.PNG图片的格式 2.CRC 3.Python爆破图片宽度和高度 参考文章 ...
- 模式识别中利用二型势函数法求解非线性分类器的原理以及python代码实现
前言 在学校的深度学习实验过程中,由于要求实现非线性分类器的势函数实验中给出的例程代码是matlab语言的(ps:自从电脑被偷了以后,新电脑没有装matlab),我便想到用python实现非线性分类器 ...
- python原理及代码_lightgbm原理以及Python代码
原论文: lightgbm原理: gbdt困点: gbdt是受欢迎的机器学习算法,当特征维度很高或数据量很大时,有效性和可拓展性没法满足.lightgbm提出GOSS(Gradient-based O ...
- 深入浅出通信原理(Python代码版)
深入浅出通信原理Python代码版 深入浅出通信原理是陈爱军的心血之作,于通信人家园连载,此处仅作python代码笔记训练所用 陈老师的连载从多项式乘法讲起,一步一步引出卷积.傅立叶级数展开.旋转向量 ...
- 看不懂掐死我系列之支持向量机(SVM)从原理到python代码实现
在如下图所示的二分类问题里,我们在训练分类器时就是希望找到一个最优的超平面.直观来讲,我们希望找到如图所示的一个通道(Margin)能够区分正负样本,最大化其宽度,取其中间线为超平面.直观来说,这样得 ...
- apriori算法代码python_Apriori算法原理及Python代码
一.Apriori算法原理 参考:Python --深入浅出Apriori关联分析算法(一)www.cnblogs.com 二.在Python中使用Apriori算法 查看Apriori算法的帮助文 ...
- 决策树原理实例(python代码实现)_决策树原理实例(python代码实现)
决策数(Decision Tree)在机器学习中也是比较常见的一种算法,属于监督学习中的一种.看字面意思应该也比较容易理解,相比其他算法比如支持向量机(SVM)或神经网络,似乎决策树感觉"亲 ...
最新文章
- jQuery中Map的使用
- 又一所新大学来了!投资百亿,对标国际一流大学
- 显示器接口_显示器带全能Type-C接口用起来有多爽?
- 《游戏编程模式》一第7章 状态模式
- 通过3点计算出一元二次方程解析式
- crontab每隔1小时运行一次
- 利用逆矩阵解线性方程组_(非)线性方程组求解库大全
- 使用scipy来进行曲线拟合
- 绕过disable_functions,LD_PRELOAD hijack so file
- Python初学者(零基础学习Python、Python入门)常见问题:书籍推荐、资料、社区
- PCM与DSD究竟是什么??
- vue:不同环境配置不同打包命令
- Java大牛给初学者的学习路线建议
- Discover Your Missed ASM Disks
- 超声的pacs系统和dicom服务器,PACS系统中DICOM/HL7网关与DICOM服务器的研究与实现
- iPhone无法充电小技巧
- 数据统计分析案例(对比分析、销量定比分析、同比、双坐标图、环比、shift、贡献度分析(帕累托法则)、差异化分析、resample、季节性波动分析)
- GWAS理论 1-3 群体结构与亲缘关系评估
- Syntax Error :error node sass version xxx is incompatible with xxx
- SDN/NFV重构下一代网络