我已经正确安装了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做错了,但是我不这么认为。
预期结果应该是对测试集的预测