Numpy 使用np垂直堆叠列表。vstack抛出错误
为了开发文本的多标签OnevsRest分类器,我遵循这段代码。我想计算hamming_分数,因此也需要对我的测试标签进行二值化。因此,我:Numpy 使用np垂直堆叠列表。vstack抛出错误,numpy,scikit-learn,multilabel-classification,Numpy,Scikit Learn,Multilabel Classification,为了开发文本的多标签OnevsRest分类器,我遵循这段代码。我想计算hamming_分数,因此也需要对我的测试标签进行二值化。因此,我: X_train, X_test, labels_train, labels_test = train_test_split(meetings, labels, test_size=0.4) 这里,标签列和标签测试是列表列表 [['dog', 'cat'], ['cat'], ['people'], ['nice', 'people'
X_train, X_test, labels_train, labels_test = train_test_split(meetings, labels, test_size=0.4)
这里,标签列和标签测试是列表列表
[['dog', 'cat'], ['cat'], ['people'], ['nice', 'people']]
现在我需要对我所有的标签进行二值化,因此我正在这样做
all_labels = np.vstack([labels_train, labels_test])
mlb = MultiLabelBinarizer().fit(all_labels)
按照链接中的指示。但这会让你失望
ValueError: all the input array dimensions except for the concatenation axis must match exactly
我按照这里的指示使用了np.column\u堆栈
但这也带来了同样的错误
如果我在火车上分路测试,我一定会得到不同的形状,那么尺寸怎么可能相同呢?请帮忙,谢谢 MultilabelBinarizer直接作用于列表列表,所以您不需要使用numpy来堆叠它们。直接发送列表,无需堆叠
all_labels = labels_train + labels_test
mlb = MultiLabelBinarizer().fit(all_labels)
当使用诸如
vstack
和column\u stack
之类的函数时,请确保您知道组件阵列的形状
,或将使用np.array(..)
生成的阵列。不要把变量放在一起,希望它们能工作。这个dog/cat
列表有4个项目,有些是2长的,有些是1长的。这对于堆叠来说不太合适。你想生产什么?