Пример #1
0
double ConfusionMatrix::accuracy() const {
  double total_sum = totalSum();
  double diag_sum  = diagSum();

  if (total_sum == 0) {
    return 0;
  } else {
    return diag_sum / total_sum;
  }
}
Пример #2
0
void ConfusionMatrix::printNormalized(const char *header) const {
  double total = totalSum();
  
  if (header == NULL) {
    LOG(INFO) << "--- confusion matrix: (actual, predicted) ---";
  } else {
    LOG(INFO) << header;
  }
  for (size_t i = 0; i < _matrix.size(); i++) {
    LOG(INFO) << ROW_BEGIN;
    for (size_t j = 0; j < _matrix[i].size(); j++) {
      if (j > 0) LOG(INFO) << COL_SEP;
      LOG(INFO) << ((double)_matrix[i][j] / total);
    }
    LOG(INFO) << ROW_END;
  }
}
Пример #3
0
int main(int argc,char* argv[])
{
	if(argc==1 || argc%2==0)
	{
		return -1;
	}
	int i=0;
	struct data* myDta = NULL;
	struct tree* myT = createTree();
	for(i=1;i<argc;i+=2)
	{
		assert(i+1<argc);
		myDta = createData(atof(argv[i]),atof(argv[i+1]));
		insertBst(myT,myDta);
	}
	printf("\ninOrderBst()\n");
	inOrderBst(myT);
	printf("\npreOrderBst()\n");
	preOrderBst(myT);
	printf("\npostOrderBst()\n");
	postOrderBst(myT);

	printf("\ntotalSum()\n");
	printf("%f\n",totalSum(myT));

	printf("\ngetMaxData()\n");
	printData(getMaxData(myT));

	printf("\ngetMinData()\n");
	printData(getMinData(myT));

	printf("\ngetBstHeight()\n");
	printf("%d\n",getBstHeight(myT));

	printf("\nprintInRange() (range 6.0-14.0)\n");
	printInRange(myT,6.0,14.0);

	printf("\nisCompleteBst()\n");
	printf("%d\n",isCompleteBst(myT));

	printf("\nisFullBst()\n");
	printf("%d\n",isFullBst(myT));

	printf("\nsumLeave()\n");
	printf("%f\n",sumLeave(myT));

	printf("\nprintDepthFirstSearch()\n");
	printDepthFirstSearch(myT);

	printf("\nprintBreadthFirstSearch()\n");
	printBreadthFirstSearch(myT);

	printf("\nreverseBST()\n");
	reverseBST(myT);
	printf("\ninOrderBst()\n");
	inOrderBst(myT);

	cleanBST(myT);

	return 0;
}