Я довольно новый для Weka и еще более новый для Weka в командной строке. Я считаю, что документация плохая, и я изо всех сил пытаюсь понять, что нужно сделать. Например, вы хотите взять два файла .arff, один для обучения, один для тестирования и получить вывод прогнозов для отсутствующих меток в тестовых данных.
Как я могу это сделать?
У меня этот код как начальный блок
java -classpath weka.jar weka.classifiers.meta.FilteredClassifier
-t "training_file_with_missing_values.arff"
-T "test_file_with_missing_values.arff"
-F weka.filters.unsupervised.attribute.ReplaceMissingValues -- -c last
-W weka.classifiers.functions.MultilayerPerceptron -- -L 0.3 -M 0.2 -H a
Запуск этого кода дает мне "Незаконный вариант -c последний", и я не уверен, почему. Я также не собираюсь использовать MLP, поскольку NN имеет тенденцию быть слишком медленным, когда у меня есть несколько тысяч функций из текстовых данных. Я знаю, как изменить его на другой классификатор (например, NB или libSVM, так что это хорошо).
Но я не уверен, как добавить несколько фильтров в один вызов, так как мне также нужно добавить фильтр StringToWordVector (и, возможно, фильтр Reorder, чтобы сделать класс последним, а не первым атрибутом).
А потом, как мне получить его, на самом деле выводят мне метки прогноза для каждого класса? А затем сохраните так, что в arff с исходными данными.