使用Stanford Classifier,可以通过设置属性文件中的选项来使用交叉验证,例如10次交叉验证:
crossValidationFolds=10
printCrossValidationDecisions=true
shuffleTrainingData=true
shuffleSeed=1
运行此功能将按比例输出各种指标,例如精度,召回率,准确度/微观平均值F1和宏观平均值F1。
是否可以选择获得所有10个准确度/微观平均值F1或所有10个宏观平均值F1的平均值或其他总计得分作为输出的一部分?
在Weka中,默认情况下,10倍交叉验证后的输出包括所有折叠的平均指标。这样的选项在斯坦福分类器中也可用吗?拥有最终的精确度,召回或F1分数,并像Weka一样优化参数非常有用,我想用斯坦福分类器做到这一点。怎么样?
答案 0 :(得分:1)
当我跑10次时,我看到了输出。当我运行此命令时:
java -cp "*" edu.stanford.nlp.classify.ColumnDataClassifier -prop examples/cheese2007.prop -crossValidationFolds 10
我在输出中看到了这一点(在### Fold 9之后)
[main] INFO edu.stanford.nlp.classify.ColumnDataClassifier - 181 examples in test set
[main] INFO edu.stanford.nlp.classify.ColumnDataClassifier - Cls 2: TP=109 FN=6 FP=7 TN=59; Acc 0.928 P 0.940 R 0.948 F1 0.944
[main] INFO edu.stanford.nlp.classify.ColumnDataClassifier - Cls 1: TP=59 FN=7 FP=6 TN=109; Acc 0.928 P 0.908 R 0.894 F1 0.901
[main] INFO edu.stanford.nlp.classify.ColumnDataClassifier - Accuracy/micro-averaged F1: 0.92818
[main] INFO edu.stanford.nlp.classify.ColumnDataClassifier - Macro-averaged F1: 0.92224
[main] INFO edu.stanford.nlp.classify.ColumnDataClassifier - Average accuracy/micro-averaged F1: 0.93429
[main] INFO edu.stanford.nlp.classify.ColumnDataClassifier - Average macro-averaged F1: 0.92247