ValueError : 通过 scikit learn 进行随机森林分类



我正在使用随机森林解决分类问题。我用 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 

我知道它说元素的数量不匹配。但是句子中的字数不同,我想一定是不同的。我应该如何解决这个问题?

在您的示例中,您的训练数据有两个特征/维度/列(行数与此问题无关(:

[[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 行,因此您将获得 6 个标签作为 predict_proba 的结果。

相关内容

  • 没有找到相关文章

最新更新