用CatBoost梯度提升决策树分类可食和有毒蘑菇
大多数教育和实际应用的数据集都包含分类特征。今天我们将介绍CatBoost库中的梯度提升决策树,该库对分类数据提供原生支持。我们将使用一个包含可食和有毒蘑菇的数据集。这些蘑菇由颜色、气味和形状等分类特征描述,我们想要回答的问题是:
根据其分类特征,这个蘑菇是否安全可食?
如您所见,风险很高。我们要确保机器学习模型正确,以免我们的蘑菇煎蛋遭遇灾难。 作为奖励,最后我们将提供一个特征重要性排名,告诉您哪个分类特征是蘑菇安全的最强预测因素。
介绍蘑菇数据集
蘑菇数据集可在此处获取:https://archive.ics.uci.edu/dataset/73/mushroom [1]。为了清晰地展示,我们将原始的晦涩简写变量创建为pandas DataFrame,并用适当的列名和长形变量进行注释。我们使用pandas的replace
函数,将长形变量替换为数据集描述中的内容。目标变量只能取True和False值 —— 数据集创建者谨慎对待,将可疑的蘑菇分类为不可食用。
在检查数据集是否缺失值时,我们发现只有一列 —— stalk_root
—— 受到影响。我们删除这一列。
对数据集的探索发现数据相当平衡:在8124个蘑菇中,有4208个…