时间:2023-07-12 15:01 / 来源:未知
我们需要删除我们在执行Naive Bayes算法时添加的额外列?鑫汇宝出问题可决议树模子是一种非参数的有监视研习手腕,它也许从一系列有特质和标签的数据中总结出决议法则,并用树状图的构造来涌现这些法则,以办理分类和回归题目
与守旧的线性回归模子差异,决议树回归模子也许逮捕到非线性相干,并天生易于诠释的法则。
起首,特质采选是为了确定正在每个节点进取行分裂的最佳特质。常用的特质采选目标有音讯增益、基尼指数等。
其次,树的构修是通过递归地分裂数据集来天生决议树。依据某个轨范,咱们采选一个特质行动划分凭据,并将数据集划分为更小的子集。
结果,剪枝是为了避免过拟合,提升模子的泛化才智。咱们可能通过剪掉少许叶节点来节减决议树的繁复度。
max_features:正在划分节点时所探求的特质值数目的最大值,默认取None,可能传入int型或float型数据。假设是float型数据,透露百分数。
min samples leaf:叶子节点的起码样本数,默认取1,假设小于该数值,该叶子节点会和兄弟节点一道被剪枝(即剔除该叶子节点和其兑弟节点,并休止盘据)。
min_weight_fraction_leaf:叶子节点最小的样本权重和,默认取0,即不探求权重题目,假设小于该数值,该叶子节点会和兄弟节点一道被剪枝(即剔除该叶子节点和其兄弟节点,并休止盘据)。假设较众样本有缺失值或者样本的漫衍种别过错很大,则需探求样本权重题目。
max_features:正在划分节点时所探求的特质值数目的最大值,默认取None,可能传入int型或float型数据。假设是float型数据,透露百分数。max_leaf_nodes:最大叶子节点数,默认取None,可能传入int型数据。
决议树模子具有以下长处: 起首,它易于判辨和诠释,天生的决议树可能直观地涌现规 则,让咱们也许领悟特质对结果的影响。
结果,它对特地值和缺失值相对不敏锐,也许正在存正在噪声的 数据纠集外示较好。
起首,正在措置繁复题目时,决议树也许太甚拟合锻练数据,导致泛化才智较差,须要接纳剪枝等步伐来办理这个题目。
其次,对付特质空间划分较众的数据,决议树也许会出现过于繁复的模子,难以诠释和判辨。
结果,决议树的锻练历程容易受到数据的眇小转化影响,也许会出现不坚固的结果。
R发言逻辑回归、Naive Bayes贝叶斯、决议树、随机丛林算法预测心脏病 数据集音讯:
这个数据集(查看文最后解数据免费获取格式)可能追溯到1988年,由四个数据库构成。克利夫兰、匈牙利、瑞士和长滩。宗旨 字段是指病人是否有心脏病。它的数值为整数,0=无病,1=有病。
要紧宗旨是预测给定的人是否有心脏病,借助于几个要素,如年齿、胆固醇程度、胸痛类型等。
该数据有303个窥察值和14个变量。每个窥察值都包蕴闭于部分的以下音讯。
cp - 胸痛类型(1=榜样心绞痛;2=非榜样心绞痛;3=非心绞痛;4=无症状)。
地中海血虚症--地中海血虚症是一种遗传性血液疾病,会影响身体出现血红卵白和红细胞的才智。1=寻常;2=固定缺陷;3=可逆转缺陷
宗旨--预测属性--心脏疾病的诊断(血管制影疾病状况)(值0=50%直径渺小;值1=50%直径渺小)
header = T意味着给定的数据有己方的题目,或者换句话说,第一个观测值也被探求用于预测。
这个函数是用来检验咱们的数据是否包蕴任何NA值。假设没有创造NA,咱们就可能持续进取,不然咱们就必需正在之前删除NA。
性别不是毗连变量,由于依据咱们的描摹,它可能是男性或女性。于是,咱们必需将性别这个变量名称从整数转换为因子。
cp不行成为毗连变量,由于它是胸痛的类型。因为它是胸痛的类型,咱们必需将变量cp转换为因子。
fbs不行是毗连变量或整数,由于它显示血糖程度是否低于120mg/dl。
restecg是因子,由于它是心电图结果的类型。它不行是整数。因此,咱们要把它转换为因子和标签。
依据数据集的描摹,exang应当是因子。心绞痛产生或不产生。于是,将该变量转换为因子。
斜率不行是整数,由于它是正在心电图中窥察到的斜率类型。于是,咱们将变量转换为因子。
thal不是整数,由于它是地中海血虚的类型。于是,咱们将变量转换为因子。
宗旨是预测变量,告诉咱们这部分是否有心脏病。于是,咱们将该变量转换为因子,并为其贴上标签。
EDA是索求性数据判辨(Exploratory Data Analysis)的缩写,它是一种数据判辨的手腕/玄学,采用百般时间(要紧是图形时间)来深切领悟数据集。
咱们可能得出结论,与60岁以上的人比拟,40至60岁的人患心脏病的概率最高。
咱们可能得出结论,正在全部类型的胸痛中,正在部分身上窥察到的大无数是榜样的胸痛类型,然后瑕瑜心绞痛。
为了检验咱们的模子是怎么天生的,咱们须要筹划预测分数和设备浑浊矩阵来领悟模子确实切性。
咱们可能看到,预测的分数是患心脏病的概率。但咱们必需找到一个妥善的分界点,从这个分界点可能很容易地分辨是否患有心脏病。
为此,咱们须要ROC弧线,这是一个显示分类模子正在全部分类阈值下的机能的图形。它将使咱们也许接纳妥善的临界值。
通过利用ROC弧线具有更好的敏锐性和特异性,于是咱们采选0.6行动分辨的分界点。
咱们知晓,对付锻练数据来说,临界点是0.6。同样地,测试数据也会有相像的临界点。
咱们可能得出结论,咱们确实切率为81.58%,90.26%的预测值位于弧线之下。同时,咱们的舛错分类率为18.42%。
正在践诺Naive Bayes算法之前,须要删除咱们正在践诺BLR时增加的卓殊预测列。
咱们可能得出结论,正在Naive Bayes算法的助助下天生的模子确切率为78.95%,或者咱们也可能说Naive Bayes算法的舛错分类率为21.05%。
正在实践决议树之前,咱们须要删除咱们正在践诺Naive Bayes算法时增加的卓殊列。
正在决议树的助助下,咱们可能说全部变量中最紧要的是CP、CA、THAL、Oldpeak。
咱们可能说,决议树确实切率为76.32%,或者说它的舛错分类率为23.68%。
正在随机丛林中,咱们不须要将数据分成锻练数据和测试数据,咱们直接正在扫数数据上天生模子。为了天生模子,咱们须要利用随机丛林库
红线代外没有心脏病的MCR,绿线代外有心脏病的MCR,黑线代外总体MCR或OOB偏差。总体偏差率是咱们感兴味的,结果不错。
正在举行了百般分类时间并探求到它们确实切性后,咱们可能得出结论,全部模子确实切性都正在76%到84%之间。个中,随机丛林确实切率略高,为83.5%。
正在此对Yudong Wan对本文所作的孝敬透露诚挚感激,他完毕了数据科学与大数据时间学位,埋头数据判辨,机械研习。擅长Python、R。