小编Adi*_*ala的帖子

weka中的测试文件是否需要与火车相同或更少的功能?

我准备了来自两个不同数据集的两个不同的.arff文件,一个用于测试,另一个用于培训.它们中的每一个都具有相同的实例,但是不同的特征改变了每个文件的特征向量的维度.当我对每个文件进行交叉验证时,它们运行得很好.这表明.arff文件已正确准备且没有任何错误.

现在,如果我使用比测试文件具有更少维度的训练文件进行评估.我收到以下错误.

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5986
at  weka.classifiers.bayes.NaiveBayesMultinomial.probOfDocGivenClass(NaiveBayesMultinomial.java:295)
at weka.classifiers.bayes.NaiveBayesMultinomial.distributionForInstance(NaiveBayesMultinomial.java:254)
at weka.classifiers.Evaluation.evaluationForSingleInstance(Evaluation.java:1657)
at weka.classifiers.Evaluation.evaluateModelOnceAndRecordPrediction(Evaluation.java:1694)
at weka.classifiers.Evaluation.evaluateModel(Evaluation.java:1574)
at TrainCrossValidateARFF.main(TrainCrossValidateARFF.java:44)
Run Code Online (Sandbox Code Playgroud)

weka中的测试文件是否需要与火车相同或更少的功能?评估准则

public class TrainCrossValidateARFF{
    private static DecimalFormat df = new DecimalFormat("#.##");
    public static void main(String args[]) throws Exception
    {
            if (args.length != 1 && args.length != 2) {
                    System.out.println("USAGE: CrossValidateARFF <arff_file> [<stop_words_file>]");
                    System.exit(-1);
            }
            String TrainarffFilePath = args[0];
            DataSource ds = new DataSource(TrainarffFilePath);
            Instances Train = ds.getDataSet();
            Train.setClassIndex(Train.numAttributes() - 1);

            String TestarffFilePath = args[1];
            DataSource ds1 = new DataSource(TestarffFilePath);
            Instances …
Run Code Online (Sandbox Code Playgroud)

classification machine-learning weka

2
推荐指数
1
解决办法
5567
查看次数

标签 统计

classification ×1

machine-learning ×1

weka ×1