目录
使用原因:python可以实现算法,但是比较复杂,耗时耗力,而且对于程序员能力要求很高,可能会出现费力构建的模型稳定性不够或出现其他问题。而这一工作,sklearn帮我们做了,它是一个可以帮我们在操作数据处理数据的时候高效实现算法应用的工具包,使用简单。
简介:scikit-learn,又写作sklearn,是一个开源的基于python语言的机器学习工具包。它通过NumPy, SciPy和Matplotlib等python数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流机器学习算法。
https://scikit-learn.org/stable/index.html
https://scikit-learn.org/stable/index.html
scikit-learn中文社区Scikit-learn(以前称为scikits.learn,也称为sklearn)是针对Python 编程语言的免费软件机器学习库。它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度提升,k均值和DBSCAN。Scikit-learn 中文文档由CDA数据科学研究院翻译,扫码关注获取更多信息。
https://scikit-learn.org.cn/以上链接为sklearn的官方教程,英文版和中文版可以对照查看。
其中,常用的模块共有六大类:分类、回归、聚类、降维、模型选择和预处理。
那今天,我们先从分类说起。
分类,顾名思义,就是将一系列的数据进行分类,可以是二分类,也可以是多分类,具体要看我们解决什么问题,预测什么内容。比如我是生物信息方向,预测氨基酸突变是否致病,那这就是一个二分类问题啦(致病or不致病)。
今天的重点是决策树,那就以决策树展开以解决分类问题,主要内容分为什么是决策树,怎么使用决策树解决分类问题以及决策树的优缺点以及适用情况,最后是代码部分。
一、什么是决策树
决策树(DTs)是一种用于分类和回归的非参数有监督学习方法。其目标是创建一个模型,通过学习从数据特性中推断出的简单决策规则来预测目标变量的值。
构建决策树其实就是将数据表通过对特征提问的方式绘制为树,最终的叶节点就是我们想要的分类结果,如下图所示。


在这里,补充节点的相关概念:
根节点:只出不进
中间节点:有进有出
叶子节点:只进不出,每个叶节点都是一个类别标签
子节点和父节点:两个相连的节点中,更接近根的节点就是父节点,另一个是子节点
决策树构建的核心有两点:
- 找出最佳的节点和最佳的分支。不纯度越低越好,不纯度基于节点计算,书中每个节点都有不纯度,并且子节点的不纯度低于父节点的不纯度,所以,在同一棵决策树上,叶子节点的不纯度一定是最低的。
- 如何让决策树停止生长,防止过拟合,可以通过剪枝参数调整。

本文详细介绍了决策树的概念、使用方法以及在分类问题中的应用。讲解了决策树的重要参数,如Criterion、random_state、splitter等,并讨论了剪枝参数的选择。通过实例展示了如何使用sklearn的DecisionTreeClassifier解决分类问题,包括训练、评估和可视化决策树。此外,还探讨了决策树的优缺点和适用场景,以及代码实现过程,最后通过绘制超参数曲线展示参数对模型性能的影响。
5216

被折叠的 条评论
为什么被折叠?



