Intel XGBoost 实现毒蘑菇分类
项目背景
蘑菇中毒是我国最严重食品安全问题之一。
毒蘑菇又称毒蕈,是指大型真菌的子实体食用后对人或畜禽产生中毒反应的物种。世界上已知具较明显毒性的毒蘑菇种类多达400多种,我国约有200多种,广东则有100多种,含剧毒能对人致死的有10多种,分布广泛。常见毒性强的有褐鳞小伞、肉褐鳞小伞、白毒伞(致命鹅膏)、鳞柄白毒伞、毒伞、残托斑毒伞、毒粉褶蕈、秋生盔孢伞、包脚黑褶伞、鹿花菌等。
我国每年都有毒蘑菇中毒事件发生,以春夏季最为多见,常致人死亡。
而在机器学习的监督学习模型中,毒蘑菇预测是一个比较常见的入门级案例,本次黑客松,我计划使用intel工具完成毒蘑菇分类。
一、Intel XGBoost
XGBoost又叫极度梯度提升树,是boosting算法的一种实现方式。是一种常用的梯度提升决策树算法,在数据科学和机器学习领域广泛使用。不仅在各种数据竞赛中大放异彩,而且在工业界也是应用广泛,主要是因为其效果优异,使用简单,速度快等优点。
Intel® Optimization for XGBoost*是英特尔为XGBoost机器学习框架提供的一种优化技术。本文也将讲解一下XGBoost。
二、设计思路
1.根据数据集初始化一棵树;
2.确定损失函数;
3.拿出一棵树来作为推导“样本上的遍历计算”这个过程,然后通过函数变换得到“叶子节点上的遍历计算”这个过程,之后求解模型。
4.根据计算得到的模型复杂度设置复杂度阈值
三、代码实现
主要思想是在一颗决策树的基础上不断地加