假设我们有一个二进制分类问题,我们在数据集上构建了一个决策树。
假设我们有5个特征,那么决策树将在第一步中选择最优的特征,并在这个特征上选择最佳的阈值来分割数据集,然后继续使树更深。best的定义是分类误差最小的。
我的问题是:既然决策树在每一步都会选择最佳的特征来分割,那么为什么随机森林(也就是许多决策树)是对决策树的改进?一个决策树不就足够了吗?
更新
我的意思是:如果你有一个decision tree classifier和一个参数相同的random forest classifier (max_depth,number of children等),那么decision tree cla
我现在正在使用ML库中的分类器运行以下代码:
val decisionTree = new DecisionTreeClassifier().setLabelCol("label").setFeaturesCol("features").setMaxDepth(7).setImpurity("gini")
val model = decisionTree.fit(df3)
val prediction = model.transform(df3)
当我看星火历史的时候,我看到的是:
为什么我的单个决策树使用randomForest方法,我做
我在一个机器学习应用程序上工作,并使用Weka进行测试、比较分类算法等。在对Weka进行测试操作之后,我决定使用J48决策树。我分析了Weka产生的剪枝树,并将其实现为C格式。但是,如果我在程序中测试了用作Weka输入的数据,结果与Weka的混淆矩阵不一样。在Weka的测试选项中,我选择了“使用培训集”,并使用了决策树。这是混淆矩阵和我的结果:
===混淆矩阵===
a b c d e f g <-- classified as
178 1 0 1 13 2 7 | a = InstantMess
我正在学习关于使用python的数据科学的udemy课程。本课程侧重于算法的输出,而较少关注算法本身。特别是,我正在执行一个决策树。每次我在python上运行算法,也使用相同的样本,算法给我一个稍微不同的决策树。我问过导师,他们告诉我:“决策树不能保证每一次运行的结果是相同的,因为它的性质。”有人可以解释我为什么要更详细的解释,或者给我一个好书的建议?
我完成了数据导入的决策树:
import numpy as np
import pandas as pd
from sklearn import tree
并执行以下命令:
clf = tree.DecisionTreeClassifier()