xgboost

Catboost 一个超级简单实用的boost算法

心已入冬 提交于 2020-10-06 06:43:29
今天笔者来介绍一个超级简单并且又极其实用的boosting算法包Catboost,据开发者所说这一boosting算法是超越Lightgbm和XGBoost的又一个神器。 catboost 简介 在笔者看来catboost有一下三个的优点: 它自动采用特殊的方式处理 类别型特征(categorical features) 。首先对categorical features做一些统计,计算某个类别特征(category)出现的频率,之后加上超参数,生成新的数值型特征(numerical features)。这也是我在这里介绍这个算法最大的motivtion,有了catboost,再也 不用手动处理类别型特征了。 catboost还使用了 组合类别特征 ,可以利用到特征之间的联系,这极大的 丰富了特征维度 。 catboost的基模型采用的是 对称树 ,同时计算leaf-value方式和传统的boosting算法也不一样,传统的boosting算法计算的是平均数,而catboost在这方面做了优化采用了其他的算法,这些改进都能 防止模型过拟合 。 catboost 实战 这里笔者采用的是之前参加一个CTR点击率预估的数据集,首先通过pandas读入数据。 from catboost import CatBoostClassifier import pandas as pd from

[Python][pmdarima] 季节性ARIMA模型学习

大憨熊 提交于 2020-10-03 03:03:57
[Python][pmdarima] ARIMA时间序列模型学习 背景 1、建模步骤 2、季节性ARIMA模型 一、模块导入及数据读取 1、模块及数据 2、季节性分析 二、平稳性检验 1、Augmented Dickey-Fuller Test(ADF检验) 2、Python实现 三、序列平稳化 差分法 四、白噪声检验 1、白噪声定义 2、Ljung-Box检验 3、Python实现 五、时间序列定阶 六、构建ARIMA模型及预测 1、构建模型 2、模型识别 3、需求预测 3、结果评估 七、小结 背景 前段时间参与了一个快消行业需求预测的项目。其中,用到了移动平均法、ARIMA、Xgboost等方法进行预测,现在打算总结一下ARIMA。 因为项目的销售数据属于私密数据,这里用网上找的一份案例数据用于展示。 构建ARIMA模型可以用到statsmodels库和pmdarima库。我这里用的是pmdarima库,这个库有一个优点是能够自动地对ARIMA模型的参数进行自动确定。 1、建模步骤 2、季节性ARIMA模型 A R I M A ( p , d , q ) ( P , D , Q ) m ARIMA (p,d,q) (P,D,Q)_m A R I M A ( p , d , q ) ( P , D , Q ) m ​ 该模型需要提供的参数有如下两类: (1)趋势参数 p

ML之XGBoost:利用XGBoost算法对波士顿数据集回归预测(模型调参【2种方法,ShuffleSplit+GridSearchCV、TimeSeriesSplitGSCV】、模型评估)

二次信任 提交于 2020-09-30 14:50:38
ML之XGBoost:利用XGBoost算法对波士顿数据集回归预测(模型调参【2种方法,ShuffleSplit+GridSearchCV、TimeSeriesSplitGSCV】、模型评估) 目录 利用XGBoost算法对波士顿数据集回归预测 T1、ShuffleSplit+GSCV模型调参 T2、TimeSeriesSplit=GSCV模型调参 相关文章 ML之XGBoost:利用XGBoost算法对波士顿数据集回归预测(模型调参【2种方法,ShuffleSplit+GridSearchCV、TimeSeriesSplitGSCV】、模型评估) ML之XGBoost:利用XGBoost算法对波士顿数据集回归预测(模型调参【2种方法,ShuffleSplit+GridSearchCV、TimeSeriesSplitGSCV】、模型评估)实现 利用XGBoost算法对波士顿数据集回归预测 T1、ShuffleSplit+GSCV模型调参 输出XGBR_GSCV模型最佳得分、最优参数:0.8630,{'learning_rate': 0.12, 'max_depth': 3, 'n_estimators': 200} XGBR_Shuffle_GSCV time: 256.7015066994206 XGBoost Score value: 0.8536645272887292

机器学习系列(三)决策树的集成算法--随机森林与极限森林--三个臭皮匠与完美主义者的较量

ぃ、小莉子 提交于 2020-09-30 04:27:51
写在前面: 我是 「nicedays」 ,一枚喜爱 做特效,听音乐,分享技术 的 大数据开发猿 。这名字是来自 world order 乐队的一首 HAVE A NICE DAY 。如今,走到现在很多坎坷和不顺,如今终于明白 nice day 是需要自己赋予的。 白驹过隙,时光荏苒,珍惜当下 ~~ 写博客一方面是对自己学习的一点点 总结及记录 ,另一方面则是希望能够帮助更多对大数据感兴趣的朋友。如果你也对 大数据与机器学习 感兴趣,可以关注我的 动态 https://blog.csdn.net/qq_35050438 ,让我们一起挖掘数据与人工智能的价值~ 文章目录 随机森林--极限森林--梯度提升树(本章未写): 一:集成算法Ensemble learning 1)Bagging:训练多个学习器取平均 2)Boosting:从弱学习器开始加强,通过加权来进行训练 AdaBoost: 3)Stacking:聚合多个分类或回归模型(可以分阶段来做) 二:集成模式下的竞争:随机森林--极限森林--梯度提升树 1)大名鼎鼎的随机森林: 单个决策树随机了什么? 怎么构建? 随机森林得优势: 2)不极限的极限森林: 单个决策树随机了什么? 极限树与随机森林的主要区别: 三:附录Scikit-learn的randomForest和ExtraTrees的参数说明:

Multiclass classification with xgboost classifier?

梦想的初衷 提交于 2020-08-24 06:58:27
问题 I am trying out multi-class classification with xgboost and I've built it using this code, clf = xgb.XGBClassifier(max_depth=7, n_estimators=1000) clf.fit(byte_train, y_train) train1 = clf.predict_proba(train_data) test1 = clf.predict_proba(test_data) This gave me some good results. I've got log-loss below 0.7 for my case. But after looking through few pages I've found that we have to use another objective in XGBClassifier for multi-class problem. Here's what is recommended from those pages.