相关视频
决策树算法将数据集分解成更小的子集;同时,相关的决策树也在逐步发展。决策树由节点(测试某个属性的值)、边/分支(对应于测试的结果并连接到下一个节点或叶子)和叶子节点(预测结果的终端节点)组成,使其成为一个完整的结构。
扩展:GBDT (Gradient Boosting Decision Tree) 梯度提升决策树
GBDT (Gradient Boosting Decision Tree) 梯度提升决策树。DT-Decision Tree决策树,GB是Gradient Boosting,是一种学习策略,GBDT的含义就是用Gradient Boosting的策略训练出来的DT模型。
在这篇文章中,我们将学习Python中决策树的实现,使用scikit learn包。
对于我们的分析,我们选择了一个非常相关和独特的数据集,该数据集适用于医学科学领域,它将有助于预测病人是否患有糖尿病(查看文末了解数据免费获取方式),基于数据集中采集的变量。这些信息来自国家糖尿病、消化道和肾脏疾病研究所,包括预测变量,如病人的BMI、怀孕情况、胰岛素水平、年龄等。让我们直接用决策树算法来解决这个问题,进行分类。
用Python实现决策树
对于任何数据分析问题,我们首先要清理数据集,删除数据中的所有空值和缺失值。在这种情况下,我们不是在处理错误的数据,这使我们省去了这一步。
1. 为我们的决策树分析导入所需的库并拉入所需的数据
# 加载库
from sklearn.model\_selection import train\_test\_split #导入 train\_test_split 函数
from sklearn import metrics #导入scikit-learn模块以计算准确率
# 载入数据集
data = pd.read\_csv("diabs.csv", header=None, names=col\_names)
让我们看看这个数据集的前几行是什么样子的
pima.head()
2. 在加载数据后,我们了解结构和变量,确定目标变量和特征变量(分别为因变量和自变量)。
#在特征和目标变量中拆分数据集
X = pima\[feature\] # 特征
y = pima.label # 目标变量
3. 我们把数据按70:30的比例分成训练集和测试集。
# 将数据集分成训练集和测试集
train\_test\_split(X, y, test\_size=0.3, random\_state=1) # 70%的训练和30%的测试
标准做法,你可以根据需要调整70:30至80:20。
领取专属 10元无门槛券
私享最新 技术干货