1.XGBoost使用PMML部署的预测偏差
2.å¦ä½å¨Pythonä¸å®è£
xgboost
3.Ray使用教程(一):基本用法
4.å¦ä½å¨Mac OSXä¸å®è£
xgboost
XGBoost使用PMML部署的预测偏差
在使用XGBoost时,Python预测与PMML预测结果之间在小数位上出现显著偏差,特别是在4-5位小数时。刘建平Pinard和SofaSofa.io的言论证实了这种差异并非偶然,PMML加载的模型与原生模型相比存在微小误差。为了证明这一点,搜虎源码 骗子我们使用泰坦尼克号数据集进行了测试。
首先,我们注意到预测过程的代码可在github.com/lizhigu/...中复现。在预处理数据后,通过PMMLPipeline封装和sklearn2pmml导出,我们对比Python和PMML的预测结果,发现从第5位小数开始出现分歧。尽管Python和PMML在叶节点表示的数值上一致,误差出现在sigmoid运算阶段,因为XGBoost使用位浮点,而PMML通过位运算后转换为位。bot缓存源码
尝试修改PMML文件以模拟Python的位sigmoid运算,结果显示,即使使用了第三方扩展属性x-mathContext="float",也无法完全复现XGBoost的精度。而对于LightGBM,尽管存在较小的精度差异,但这种情况在大部分模型中并不普遍。
总结来说,go隐藏源码XGBoost的PMML部署预测存在偏差,主要源于浮点运算精度的不匹配。尽管PMML能够精确转换XGBoost的树结构,但sigmoid运算的位转换未能得到完全一致的结果。因此,建议在使用PMML部署XGBoost时,预期并处理这种精度上的微小差异。
å¦ä½å¨Pythonä¸å®è£ xgboost
ä½ çpythonç¯å¢åéé½è¿æ²¡å¼å¥½å¢ä¸è½ç´æ¥å¨cmdè¿è¡pythonèæ¬â¦â¦
建议åç §å®æ¹ææ¡£é ç½®ï¼è²ä¼¼ä¸éè¦VSå°±å¯ä»¥ç¼è¯ã
以ä¸æ¯å®æ¹å®è£ å®è£ æåï¼è±æã
/dmlc/xgboost/blob/master/README.md
Ray使用教程(一):基本用法
Ray是设置网页源码一个高效且功能丰富的分布式机器学习框架,旨在降低大规模机器学习的门槛。它拥有一系列模块,包括Ray Core、Ray Data、Ray Train、Ray Tune、Ray Serve、Ray RLlib和Ray AIR,javaspring源码审计为人工智能领域的科研人员和工程师提供支持。
Ray的生态位高于TensorFlow和PyTorch等深度学习框架,用于神经网络训练。通过pip命令轻松安装Ray,不同命令可安装不同库,确保安装覆盖所有功能需执行“pip install -U "ray[all]"”。Ray兼容多种操作系统和Python版本,支持从源码到Docker的安装方式。
本教程将详细介绍Ray的安装和每个模块的基本用法,以版本2.4.0为例。首先了解Ray Core的基本分布式能力,初始化Ray后,通过装饰器控制函数或类的并行/分布式执行。
接下来是Ray AIR(AI Runtime),它提供一个集成的API,简化了数据处理和模型训练的过程。使用xgboost时,注意配置环境以兼容Windows系统。该模块通过读取数据、预处理、定义模型和训练等步骤实现高效学习。
Ray Train模块提供与PyTorch类似的API接口,简化了分布式训练的实现。输出结果展示了训练过程的可视化和性能指标。
Ray Tune模块用于超参数搜索,通过定义搜索空间和目标函数,实现自动化优化。结果输出展示了搜索过程和最佳参数设置。
Ray RLlib专注于强化学习领域,通过定义配置文件和训练算法,实现智能决策系统的构建。输出结果反映了算法的训练效果和性能指标。
为了便于学习和实践,所有示例代码已整合至开源仓库:github.com/OpenRL-Lab/R...
此教程仅为Ray的入门指南,后续将深入探索Ray Core、Ray RLlib、Ray AIR等模块的高级用法,并持续更新到GitHub仓库中。
å¦ä½å¨Mac OSXä¸å®è£ xgboost
1. Mac OSXç³»ç»ä¸è¬èªå¸¦pythonï¼æå¼ç»ç«¯è¾å ¥pythonå³å¯åpython代ç ï¼æ以pythonç¯å¢å·²ç»å ·å¤äºã
2.å®è£ Homebrew , 类似äºubuntuä¸çapt-getåcentosä¸çyumï¼æ¯OSXéé¢çä¸ä¸ªé常æç¨è½¯ä»¶å®è£ å·¥å ·ã
/usr/bin/ruby -e "$ï¼curl -fsSL /Homebrew/install/master/installï¼"
ç´æ¥å°ä¸è¿°ä»£ç ç²è´´è³ç»ç«¯å³å¯å®è£ ãï¼å®è£ è¿ä¸ªè½¯ä»¶çç®çå¨äºæ´æ°gccçæ¬ï¼å 为å®æ¹ææ¡£ä¸è¯´åªæææ°çgccçæ¬æè½ä½¿xgboostæ¯æå¤çº¿ç¨ï¼
3.å®è£ ææ°çæ¬çgcc ï¼gcc-6ï¼
brew install gcc --without-multilib
è¿æ¥æ¯è¾èæ¶ï¼ç¨äºå°è¿1å°æ¶ã
4.ä»gitä¸ä¸è½½æºç
cdè¿å ¥ä½ æ³è¦å®è£ çç®å½ï¼ç¶åè¾å ¥ä¸é¢ç代ç ãï¼ææ¯ç´æ¥å¨æå¼ç»ç«¯çç®å½ï¼
git clone --recursive /dmlc/xgboost