clfs

基于Python的决策树分类器与剪枝

允我心安 提交于 2020-08-14 07:08:04
作者|Angel Das 编译|VK 来源|Towards Data Science 介绍 决策树分类器是一种有监督的学习模型,在我们关心可解释性时非常有用。 决策树通过基于每个层次的多个问题做出决策来分解数据 决策树是处理分类问题的常用算法之一。 为了更好地理解它,让我们看看下面的例子。 决策树通常包括: 根节点 -表示被进一步划分为同质组的样本或总体 拆分 -将节点分为两个子节点的过程 决策节点 -当一个子节点根据某个条件拆分为其他子节点时,称为决策节点 叶节点或终端节点 -不进一步拆分的子节点 信息增益 -要使用一个条件(比如说信息最丰富的特征)来分割节点,我们需要定义一个可以优化的目标函数。在决策树算法中,我们倾向于在每次分割时最大化信息增益。在测量信息增益时,通常使用三种度量。它们是基尼不纯度、熵和分类误差 数学理解 为了理解决策树是如何发展的,我们需要更深入地了解在每一步中如何使用度量使信息增益最大化。 让我们举一个例子,其中我们有包含学生信息的训练数据,如性别、年级、因变量或分类变量,这些变量可以识别学生是否是美食家。我们有以下概述的信息。 学生总数-20人 被归为美食家的学生总数-10 不属于美食家的学生总数-10 P(美食家),即学生成为美食家的概率=(10/20)=0.5 Q(非美食家),学生不是美食家的概率=(10/20)=0.5

Python机器学习笔记:SVM(4)——sklearn实现

喜欢而已 提交于 2020-08-08 04:27:42
  上一节我学习了SVM的推导过程,下面学习如何实现SVM, 具体的参考链接都在第一篇文章中 ,SVM四篇笔记链接为: Python机器学习笔记:SVM(1)——SVM概述 Python机器学习笔记:SVM(2)——SVM核函数 Python机器学习笔记:SVM(3)——证明SVM Python机器学习笔记:SVM(4)——sklearn实现   对SVM的概念理清楚后,下面我们对其使用sklearn进行实现。 1,Sklearn支持向量机库概述   我们知道SVM相对感知器而言,它可以解决线性不可分的问题,那么它是如何解决的呢?其思想很简单就是对原始数据的维度变换,一般是扩维变换,使得原样本空间中的样本点线性不可分,但是在变维之后的空间中样本点是线性可分的,然后再变换后的高维空间中进行分类。   上面将SVM再赘述了一下,下面学习sklearn中的SVM方法,sklearn中SVM的算法库分为两类,一类是分类的算法库,主要包含LinearSVC,NuSVC和SVC三个类,另一类是回归算法库,包含SVR,NuSVR和LinearSVR三个类,相关模块都包裹在sklearn.svm模块中。   对于SVC,NuSVC和LinearSVC 三个分类的库,SVC和NuSVC差不多,区别仅仅在于对损失的度量方式不同,而LinearSVC从名字就可以看出,他是线性分类