3
은 내가 분류 모델 훈련을 위해 다음 코드를 사용하고 있습니다 :OpenNLP 분류 출력
Indexing events with TwoPass using cutoff of 0
Computing event counts... done. 1474 events
Indexing... done.
Collecting events... Done indexing in 0,03 s.
Incorporating indexed data for training...
done.
Number of Event Tokens: 1474
Number of Outcomes: 2
Number of Predicates: 4149
Computing model parameters...
Stats: (998/1474) 0.6770691994572592
...done.
수 : 잘
final String iterations = "1000";
final String cutoff = "0";
InputStreamFactory dataIn = new MarkableFileInputStreamFactory(new File("src/main/resources/trainingSets/classifierA.txt"));
ObjectStream<String> lineStream = new PlainTextByLineStream(dataIn, "UTF-8");
ObjectStream<DocumentSample> sampleStream = new DocumentSampleStream(lineStream);
TrainingParameters params = new TrainingParameters();
params.put(TrainingParameters.ITERATIONS_PARAM, iterations);
params.put(TrainingParameters.CUTOFF_PARAM, cutoff);
params.put(AbstractTrainer.ALGORITHM_PARAM, NaiveBayesTrainer.NAIVE_BAYES_VALUE);
DoccatModel model = DocumentCategorizerME.train("NL", sampleStream, params, new DoccatFactory());
OutputStream modelOut = new BufferedOutputStream(new FileOutputStream("src/main/resources/models/model.bin"));
model.serialize(modelOut);
return model;
이 간다를 나는 다음과 같은 출력을 얻을 때마다 실행 한 후 누군가이 출력이 의미하는 것을 설명합니까? 그리고 그것이 정확성에 관해 뭔가를 말해 준다면? 당신이 findParameters()
코드를 살펴 경우
public AbstractModel trainModel(DataIndexer di) {
// ...
display("done.\n");
display("\tNumber of Event Tokens: " + numUniqueEvents + "\n");
display("\t Number of Outcomes: " + numOutcomes + "\n");
display("\t Number of Predicates: " + numPreds + "\n");
display("Computing model parameters...\n");
MutableContext[] finalParameters = findParameters();
display("...done.\n");
// ...
}
, 당신이 그것을이 들어있는 trainingStats()
방법, 호출하는 것을 알 수 있습니다 다음 source 보면
좋은 답변 주셔서 감사합니다. 'numCorrect'는 어디에 기반합니까? 이 훈련에서'998' 번호는'2'이고 나머지는'4' 번호입니다. 숫자가'numCorrect' 인 이유는 무엇입니까? – Patrick
@Patrick'numCorrect'도'trainingStats()'에서 계산됩니다. [GitHub의 소스] (https://github.com/apache/opennlp/blob/master/opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesTrainer.java#L179)를 살펴보십시오.). –
@ 패트릭이 답변이 유용하다고 생각되면 위/아래 화살표 바로 아래에있는 Nike 로고를 클릭하여 "수락"하는 것을 잊지 마십시오. :-) –