Как решить 'IndexError: список индексов вне диапазона' при использовании sci-kit multilearn MEKA meka.predict - PullRequest
0 голосов
/ 23 января 2019

У меня sci-kit multilearn и MEKA правильно установлены, а графический интерфейс работает без сбоев.Я могу инициировать классификатор, подгонять его, но при использовании meka.predict я получаю ошибку IndexError: список индекса выходит за пределы диапазона

Я обычно могу инициировать классификатор.Я также могу использовать meka.fit ().Но когда я использую meka.predict (), все идет не так:

Мои 4 набора данных выглядят так:

sX_train - это <579x58 разреженная матрица типа '' с 28934 сохраненными элементами в Compressed SparseФормат строки>

sy_train - это <579x10 разреженная матрица типа '' с 836 сохраненными элементами в формате Compressed Sparse Row>> 1009 *

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, но я так не думаю.

Ожидаемым результатом должны быть прогнозы на тестовом наборе

...