ValueError:scikit进行的随机森林分类

问题描述 投票:2回答:1

我正在使用随机森林解决分类问题。我把BOW的句子改成num。然后在其中贴上标签,并构建了一棵树。

data_train = [[1.0, 1.0], [2.0, 2.0]]

label_train = [1,2]

estimator = RandomForestClassifier()

estimator.fit_transform(data_train, label_train)

并且我准备了一个test_data,这是一个尝试预测的句子。但这没有用。

test_data = [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]

label_predict = estimator.predict_proba(test_data)


ValueError: Number of features of the model must match the input. Model n_features is 2 and input n_features is 12 

我知道它说元素的数量不匹配。但是我认为句子中的单词数量不同,必须有所不同。我该如何解决?

python machine-learning scikit-learn
1个回答
1
投票

在您的示例中,火车数据具有两个要素/维度/列(行数与该问题无关):

[[1.0, 1.0], 
 [2.0, 2.0]]

并且每个行/样本都有一个标签。

[1,
 2]

您的测试数据必须看起来相似,即,它必须具有相同数量的特征/尺寸/列。例如,这样就可以了:

[[1.0, 1.0],
 [1.0, 1.0], 
 [1.0, 1.0],
 [1.0, 1.0], 
 [1.0, 1.0],
 [1.0, 1.0]]

您可以具有不同的行数,但列数必须相同。在这种情况下,您有2列和6行,因此,由于predict_proba,您将获得6个标签。

© www.soinside.com 2019 - 2024. All rights reserved.