本文整理汇总了C++中Corpus::getEdge方法的典型用法代码示例。如果您正苦于以下问题:C++ Corpus::getEdge方法的具体用法?C++ Corpus::getEdge怎么用?C++ Corpus::getEdge使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Corpus
的用法示例。
在下文中一共展示了Corpus::getEdge方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fscore
double fscore(vector<vector<vector<bool> > > sample, Corpus &corpus) {
int tp = 0,
fp = 0,
tn = 0,
fn = 0;
for (int a = 0; a < sample.size(); a++) {
for (int d = 0; d < sample[a].size(); d++) {
if (corpus.isObscured(a, d)) {
for (int r = 0; r < sample[a][d].size(); r++) {
if (a != r) {
int trueEdge = corpus.getEdge(a, d, r);
if (sample[a][d][r]) {
if (trueEdge) {
tp++;
} else {
fp++;
}
} else {
if (trueEdge) {
fn++;
} else {
tn++;
}
}
}
}
}
}
}
double precision = (1.0 * tp) / (tp + fp);
double recall = (1.0 * tp) / (tp + fn);
cout << "tp: " << tp << ", fp: " << fp << ", tn: " << tn << ", fn: " << fn << "\n";
cout << "Precision: " << precision << "; Recall: " << recall << "\n";
return 2 * precision * recall / (precision + recall);
}