我正在学习关于使用python的数据科学的udemy课程。本课程侧重于算法的输出,而较少关注算法本身。特别是,我正在执行一个决策树。每次我在python上运行算法,也使用相同的样本,算法给我一个稍微不同的决策树。我问过导师,他们告诉我:“决策树不能保证每一次运行的结果是相同的,因为它的性质。”有人可以解释我为什么要更详细的解释,或者给我一个好书的建议?
我完成了数据导入的决策树:
import numpy as np
import pandas as pd
from sklearn import tree
并执行以下命令:
clf = tree.DecisionTreeClassifier()
我想知道是否有可能向库用户展示一个函数需要一个回调,假设有5个参数,其中3个是数组(例如)。或者换句话说,如何通知程序员不要搞乱回调参数?下面是一个代码示例:
function doSomething(someArray, callback) {
var i = 0;
for ( i = 0; i < someArray.length; i += 1) {
callback(someArray[i]);
}
}
程序员如何知道他们的回调函数应该接受什么参数?
我用python开发了一个绘图决策树,
tree.plot_tree(clf.fit(X_train, y_train))
plt.suptitle("Decision surface of a decision tree using paired features")
plt.show()
但是当我运行这段代码时,树会像这样出现
决策树
有什么办法可以使树正常吗?
假设我们有一个二进制分类问题,我们在数据集上构建了一个决策树。
假设我们有5个特征,那么决策树将在第一步中选择最优的特征,并在这个特征上选择最佳的阈值来分割数据集,然后继续使树更深。best的定义是分类误差最小的。
我的问题是:既然决策树在每一步都会选择最佳的特征来分割,那么为什么随机森林(也就是许多决策树)是对决策树的改进?一个决策树不就足够了吗?
更新
我的意思是:如果你有一个decision tree classifier和一个参数相同的random forest classifier (max_depth,number of children等),那么decision tree cla
我想为我现有的neo4j图形数据库分配一个决策树。我必须创建一个决策树,告诉我价格是便宜还是昂贵。为了做到这一点,我将便宜定义为低于平均价格,将昂贵定义为高于平均价格。我在cypher中尝试了以下代码,但它不起作用。
我也想做出其他不同的决定,但这是最简单的一个。另外,如果我可以在一些python代码上实现决策树,并将其连接到现有的neo4j数据库?
MAtch (p:Price),(ch:Cheap)
WITH avg(toFloat(p.monthly)) as average
Where ch.price < average
MERGE (p)-[:IS_CHEAP]-&g