美文网首页
分类-决策树和随机森林

分类-决策树和随机森林

作者: 一天天111 | 来源:发表于2019-10-21 10:00 被阅读0次

1.graphviz的安装,参考:https://www.cnblogs.com/theoup/articles/9976898.html

2.决策树相关知识:
(1)特征选取:数据特征选择,规则生成,if-lese
(2)树的生成:根据选好的特征生成一棵树,生成的原则是,所有训练数据都能分配到相应的叶节点。
(3)树的剪枝:使得树生成效果准确,好。但是过程中存在过度拟合情况。过度拟合,指模型对训练数据的效果很好,但是对测试数据的效果差,泛化能力较弱。解决决策树过度拟合的方法是对决策树进行剪枝。它的依据是,剪枝前和剪枝后的决策树整体损失函数最小。控制深度和广度。

from matplotlib import pyplot as plt
import pandas as pd
from sklearn import datasets
# 载入数据集
iris = datasets.load_iris()
iris.data, iris.target

from sklearn.tree import DecisionTreeClassifier

# 建立模型
model = DecisionTreeClassifier()
# 模型训练
model.fit(iris.data, iris.target)


from sklearn.tree import export_graphviz
import graphviz

img = export_graphviz(
    model, out_file=None,
    feature_names=iris.feature_names,  # 传入特征名称
    class_names=iris.target_names,  # 传入类别值
    filled=True, node_ids=True,
    rounded=True)

graphviz.Source(img)  # 展示决策树
image.png

决策树和随机森林的不同:随机森林不只是建立一颗树,而是建立一堆树。与决策树不同,随机森林每次只从全部数据集中随机抽取一部分数据用于生成树。另外,随机森林在生成树的时候不会剪枝。
随机森林优点:
可以处理大量的数据;
可以在特征不均衡时,依然维持较高的准确度;
随机森林学习速度快,一般情况下,结果比单纯应用决策树要好。

决策树和随机森林预测比较:

from sklearn.ensemble import RandomForestClassifier

X_train = iris.data[:120]
X_test = iris.data[120:]

y_train = iris.target[:120]
y_test = iris.target[120:]

# 建立模型
model_tree = DecisionTreeClassifier(random_state=10)
model_random = RandomForestClassifier(random_state=10, n_estimators=10)

# 训练模型并验证
model_tree.fit(X_train, y_train)
s1 = model_tree.score(X_test, y_test)

model_random.fit(X_train, y_train)
s2 = model_random.score(X_test, y_test)

print('DecisionTree:', s1)
print('RandomForest:', s2)
#结果:
DecisionTree: 0.7333333333333333
RandomForest: 0.8333333333333334

相关文章

  • 决策树与随机森林及其在SparkMllib中的使用

    一.概念 决策树和随机森林:决策树和随机森林都是非线性有监督的分类模型。 决策树是一种树形结构,树内部每个节点表示...

  • 用决策树和随机森林解决泰坦尼克号沉没问题

    决策树和随机森林既可以解决分类问题,也可以解决预测问题。 随机森林属于集成算法,森林从字面理解就是由多棵决策树构成...

  • 新2019计划:机器学习100天—随机森林【8】

    随机森林 随机森林是有监督的集成学习模型,主要用于分类和回归。随机森林建立了很多决策树,然后将其集成,以获得更准确...

  • 随机森林、EM、HMM、LDA

    随机森林(Random Forest)是一种分类和回归算法,它包含了多个决策树,形成一个森林,随机森林的类别是所有...

  • 第八章 数据决策分析算法——基于随机森林的决策分类

    8.4 基于随机森林的决策分类 随机森林是一种一个包含多个决策树的分类器,是用随机的方法建立一个森林,森林里面由很...

  • 随机森林算法简介

    随机森林是一种包含多个决策树的分类器。随机森林的算法是由Leo Breiman和Adele Cutler发展推论出...

  • 随机森林-Python

    这里随机森林分类器的预测可视化与决策树差不多,因为随机森林就是决策树投票得到的结果。代码: 关键代码:plt.sc...

  • 随机森林

    随机森林(RandomForest), 可用于分类或者回归, 相比较决策树的算法, 随机森林是由多棵CART(Cl...

  • 分类算法 - 随机森林

    一、定义 上次我写了决策树算法,决策树可以解决分类问题,也有CART算法可以解决回归问题,而随机森林也和决策树非常...

  • 2020-05-14

    svm分类、随机森林、决策树、线性回归、K-means算法、朴素贝叶斯

网友评论

      本文标题:分类-决策树和随机森林

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