使用sci-kit multilearn MEKA meka.predict

时间:2019-01-23 15:06:51

标签: weka multilabel-classification scikit-multilearn

我已经正确安装了sci-kit multilearn和MEKA,并且GUI运行平稳。我可以启动分类器,使其适合它,但是在使用meka.predict时,出现错误IndexError:列表索引超出范围

我通常可以启动分类器。我也可以使用meka.fit()。但是当我使用meka.predict()时,它出错了:

我的4个数据集如下:

sX_train是类型为的<579x58稀疏矩阵 包含28934个压缩后的稀疏行格式的存储元素>

sy_train是类型为的<579x10稀疏矩阵 包含836个压缩后的稀疏行格式的存储元素>

sX_test是类型为的<589x58稀疏矩阵 包含29539个压缩稀疏行格式的已存储元素>

sy_test是类型为的<589x10稀疏矩阵 具有838个压缩稀疏行格式的存储元素>

应该使用正确的形状和类型

meka = Meka(meka_classifier = "meka.classifiers.multilabel.LC",weka_classifier = "weka.classifiers.bayes.NaiveBayes",meka_classpath = download_meka(),java_command = None)

meka.fit(sX_train, sy_train)

但是随后在此步骤中出错了:

predictions=meka.predict(sX_test)

错误部分是这样的:

--> 374 predictions = self.output_.split(predictions_split_head)[1].split(    
375 predictions_split_foot)[0].split('\n')[1:-1]    
376

IndexError: list index out of range

我真的不知道我在做什么错。我相信从包装页中看到的数据格式正确(包括形状)。其实。当我在网站上遵循示例时:http://scikit.ml/meka.html我被困在完全相同的位置,即.predict步骤。也许我用java_command做错了,但是我不这么认为。

预期结果应该是对测试集的预测

0 个答案:

没有答案