美文网首页
sklearn入门与决策树 笔记

sklearn入门与决策树 笔记

作者: bokli_dw | 来源:发表于2020-02-04 17:47 被阅读0次

顺口溜:
两种决策树,8参数,1属性,4接口。
8个参数:criterion;random_state/splitter;max_depth;min_samples_leaf;min_samples_split;max_feature;min_impurity_decrease。
1个属性:feature_importances_
4接口:fit,score,apply,predict

sklearn简介

sklearn几乎涵盖了所有主流的机器学习语言包,它的三个好cp是:numpy,scipy,matplotlib。
分为六大模块:分类,回归,聚类,降维,模型选择以及数据预处理。

这里算法原理不赘述,若想要深挖数学原理,请参照《数据挖掘导论》和瓜书。

决策树简介:

是一种非参数的有监督学习方法,用简单的树状图解决回归和分类问题,Adaboost,随机森林在各大公司处理实际问题中都有使用。
决策树解决两个最重要的问题:
1)如何从数据表中找出最佳节点和最佳分支
2)如何让决策树停止生长 ,防止过拟合

sklearn中的决策树类:

回归树和分类树

sklearn的基本建模流程:

so easy!建模过程三步走

1.实例化

clf = tree.DecisionTreeClassifier()

2.训练模型

clf  = clf.fit(xtrain,ytrain)%对模型喂数据

3.模型评估,得到测试集上的得分

score = clf.score(xtest,ytest)

重要参数

1.criterion =['entropy','gini']
信息系数以及gini系数的严格定义参照瓜书和《统计学习方法》。
2.random_state
用来设置分枝中的随机模式的参数,默认None

  1. splitter
    是用来控制决策树中的随机选项的,有两种输入值。输入”best":分枝是随机的,但是还是选择更重要的特征进行分枝。输入“random”:决策树在分枝时更加随机,是防止过拟合的一种方法。
    random_state和splitter可以帮助我们降低树模型建立之后过拟合的可能性。树模型一旦建立,依然使用剪枝参数防止过拟合。

剪枝参数

max_depth:

限制树的最大深度,超过设定的深度的树枝全部剪掉。实际应用中,建议从3开始,看看你和效果再决定是否增加深度。

min_samples_leaf,min_samples_split

这两个参数搭配max_depth食用更佳哦~
min_samples_leaf:一个节点在分枝后的每个子节点都必须包含至少min_samples_leaf个训练样本,否则分枝就不会发生。
min_samples_split:一个节点必须要包含至少min_samples_split个训练样本,这个节点才允许被分枝。

max_features , min_impurity_decrease

max_features限制分枝时考虑的特征个数;min_impurity_decrease限制信息增益的大小。

重要属性以及接口

所有接口中要求输入xtrain,xtest部分,输入的矩阵必须至少是一个二维矩阵。sklearn不接受任何一维矩阵作为特征矩阵被输入。如果数据只有一个特征,必须使用reshape(-1,1)给矩阵增维;如果数据只有一个特征和一个样本,使用reshape(1,-1)给矩阵增维。

clf.apply(xtest)
clf.predict(xtest)

上述两行代码分别返回每个测试样本所在的叶子节点的索引,每个测试样本的分类or回归结果

相关文章

  • sklearn入门与决策树 笔记

    顺口溜:两种决策树,8参数,1属性,4接口。8个参数:criterion;random_state/splitte...

  • 决策树

    1. sklearn 实现决策树 1.1 语法与参数 class sklearn.tree.DecisionTre...

  • sklearn 中的决策树

    sklearn.tree中包含决策树,和极端随机树两类方法。 DecisionTree sklearn使用CART...

  • 决策树原理与Sklearn参数详解

    目录 1、决策树(Decision Tree)原理 2、Sklearn DecisionTreeClassifit...

  • DecisionTree(决策树)

    from sklearn.tree import DecisionTreeClassifier 原理:决策树(de...

  • 决策树API文档简介

    决策树(sklearn.tree.DecisionTreeClassifier)源文档地址:https://sci...

  • 01-25

    今天看的是Sklearn工具进行数据挖掘算法的运行。Sklearn自身含有决策树分类器DecisionTreeCl...

  • sklearn.tree.DecisionTreeClassif

    sklearn.tree.DecisionTreeClassifier()函数用于构建决策树,默认使用CART算法...

  • Decision Tree

    决策树非常之robust! 决策边界很有趣! 1.可线性分割吗? 2. 构建决策树(分割) 3. sklearn ...

  • [sklearn] 1 分类决策树

    1.Classification 1.1 决策树用于多分类问题:from sklearn.tree import ...

网友评论

      本文标题:sklearn入门与决策树 笔记

      本文链接:https://www.haomeiwen.com/subject/rnolxhtx.html