- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我试图制作一个决策树,我的目标是数组 [0, 1] (二进制“NO”或“YES”),我的输入训练集是三维数组,第一个元素全部为“NO”示例( 10) 各有 35 个特征,与"is"相同。但我不断收到此错误。
file1 = open(file1.txt) # examples of 'No' class
file2 = open(file2.txt) # examples of 'Yes' class
x = vectorizer.fit_transform(file1)
y = vectorizer.fit_transform(file2)
x_array = x.toarray()
y_array = y.toarray()
x_train, x_test, y_train, y_test = train_test_split(x_array, y_array,
test_size=0.2)
target = [0, 1] # 0 encoded as 'No' and 1 as 'Yes
train = [x_train, y_train]
decisiontree = DecisionTreeClassifier(random_state=0, max_depth=5)
decisiontree = decisiontree.fit(train, target)
感谢您的帮助。
编辑:我正在从 txt 文件加载数据,它是文本数据,我尝试打印数组的某些部分,这里是
[[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]]
最佳答案
我认为原因是您对 decisiontree.fit
中的 fit 方法感到困惑。
对于decisiontree.fit(X,Y)
,它期望X
是数据点,Y
是标签。也就是说,如果 X
的形状为 N x 32
,则 Y
的形状应为 N
(其中 >N
是数据点的数量)。
您应该将x_array
和y_array
合并为整个数据集,将其拆分,然后使用相应的标签进行fit
。
考虑以下因素:
# from sklearn.model_selection import train_test_split
# from sklearn.tree import DecisionTreeClassifier
import numpy as np
file1 = open(file1.txt)
file2 = open(file2.txt)
x = vectorizer.fit_transform(file1)
y = vectorizer.fit_transform(file2)
x_array = x.toarray()
y_array = y.toarray()
# ------------------------------------------------------------
# combine the positive and negative examples
data = np.concatenate([x_array, y_array], axis=0)
# create corresponding labels (based on the data's length)
labels = np.concatenate([np.zeros(x_array.shape[0]),
np.ones(y_array.shape[0])], axis=0)
# split into train and test set
train_data, test_data, train_labels, test_labels = train_test_split(
data, labels, test_size=0.2)
decisiontree = DecisionTreeClassifier(random_state=0, max_depth=5)
decisiontree = decisiontree.fit(train_data, train_labels)
# ------------------------------------------------------------
# this is how you can test model performance with the test set
correct_predictions = np.count_nonzero(
decisiontree.predict(test_data) == test_labels
)
print("Correct prediction in test set: {}/{}".format(correct_predictions,
test_labels.shape[0]))
关于python - Scikit-learn 的 DecisionTreeClassifier 的 fit 方法将 ValueError : Couldn't broadcast input array from shape (10, 35) 赋予形状 (10),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60032563/
我正在制作一个交互式建模工具。这个想法是用决策树生成变量。然而,这个变量需要具有经济意义(我希望能够删除理论上没有意义的分割)。因此,我用plotly绘制了一棵树,以便能够监听用户点击的位置。我在下面
我正在尝试对具有多个级别的对象进行分类。我解释它的最好方法是用一个例子: 我可以做到这一点: from sklearn import tree features = ['Hip Hop','Bosto
我正在使用 scikit-learn 中的 DecisionTreeClassifier 对一些数据进行分类。我还使用其他算法,并使用精确召回指标下的面积来比较它们。问题是 DecisionTreeC
有没有办法计算 decision tree 中两片叶子之间的距离? . 距离是指从一片叶子到另一片叶子的节点数。 例如,在此示例图中: distance(leaf1, leaf2) == 1 dist
我有两个学习过的sklearn.tree.tree.DecisionTreeClassifier。两者都使用相同的训练数据进行训练。两者都为决策树学习了不同的最大深度。 decision_tree_m
我正在使用 sklearn.tree.DecisionTreeClassifier 来训练 3-class 分类问题。 3个类的记录数如下: A: 122038 B: 43626 C: 6678 当我
我正在使用 python sklearn RandomForestClassifier 并尝试导出决策树。 基本代码如下: from sklearn import tree with open(dot
我正在尝试使用 DataFrame(pandas)从 sklearn 实现 DecisionTreeClassifier,但在分割数据时它返回一些奇怪的值。我的数据集包含 3 列,其 PIL 逊相关系
我一直在玩 sklearn 并使用虹膜数据在线遵循一些简单的示例。 我现在开始使用一些其他数据。我不确定这种行为是否正确,而且我有误解,但每次我调用 fit(x,y) 时,我都会得到完全不同的树数据。
使用 DecisionTreeClassifier I visualized it using graphviz 时,我不得不说,令我惊讶的是,它似乎采用分类数据并将其用作连续数据。 我的所有特征都是
我正在训练一个 sklearn.tree.DecisionTreeClassifier。我从 pandas.core.frame.DataFrame 开始。这个数据框的一些列是真正应该是分类的字符串。
我正在尝试使用字符串中的参数的 DecisionTreeClassifier。 print d # d= 'max_depth=100' clf = DecisionTreeClassifi
我有一个数据集,其中的类是不平衡的。这些类是 0、1 或 2。 如何计算每个类别的预测误差,然后在 scikit-learn 中相应地重新平衡权重? 最佳答案 如果你想完全平衡(将每个类视为同等重要)
我是机器学习新手 - 特别是分类技术。 我已经在线阅读了一些教程,并且正在使用 iris data set 。我尝试使用 将数据集拆分为训练和测试 train, test = train_test_s
如何告诉 ml.DecisionTreeClassifier 对连续特征而不是分类特征进行评分,而无需使用 Bucketizer 或 QuantileDiscretizer 方法? 下面是我将连续特征
我正在使用这个数据集Weath Based on age并且文档指出准确度应在 84% 左右。不幸的是,我的程序的准确率是 25% 为了处理数据,我执行了以下操作: 1. Loaded the .tx
假设我有一个数据集: X y 20 0 22 0 24 1 27 0 30 1 40 1 20
我有一个来自 sklearn 的决策树分类器,我使用 pydotplus 来展示它。然而,当我的演示文稿(熵、样本和值)的每个节点上有很多信息时,我真的不喜欢。 为了更容易向人们解释,我只想保留决定和
我已经安装了 DecisionTreeClassifier 的实例,并且正在尝试提取每个节点的预测概率。我需要这个来创建类似于下面所示的自定义决策树可视化。 我可以导出每个节点的特征和阈值。 dtc.
我使用 sklearn.tree.DecisionTreeClassifier 构建决策树。通过最佳参数设置,我得到了一棵有不必要叶子的树(参见下面的示例图片 - 我不需要概率,所以用红色标记的叶子节
我是一名优秀的程序员,十分优秀!