⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 biblio.c

📁 linux下的源码分类器SVM
💻 C
字号:
/*----------------------------------------------------------------------*//*  Version        : 1.0                                                *//*  Creation       : 12/07/96                                           *//*  Derniere modif.: 28/01/08                                           *//*  Sujet          : Mise en oeuvre d'un classifieur                    *//*  Intitule       : Affichage des performances                         *//*  Auteur         : Yann Guermeur                                      *//*----------------------------------------------------------------------*/#include <stdio.h>#include <math.h>#include "algebre.h"long z, t, disp_size;double **C_matt, denominateur = 0.0, **p, **o, **n, **u, nbrec=0.0;void display_stats(char base[], int nb_ex, int nb_ex_tot, int classes,                    double **matrice, double cout) /* Affiche les statistiques obtenues en test */ { nbrec = 0.0;for(z=1; z<=classes; z++)  nbrec += matrice[z][z]; /*if(nb_ex < nb_ex_tot)  printf("\nRecognition rate: %6.3f (>= %6.3f)\n",          (nbrec*100.0)/nb_ex, (nbrec*100.0)/nb_ex_tot);else*/  printf("\nRecognition rate: %6.3f\n", (nbrec*100.0)/nb_ex); }void display_full_stats(char base[], int nb_ex, int classes,		                   double **matrice, double cout)/* Affiche les statistiques obtenues en test */{double **nb, **pred;p = matrix(classes, 1);o = matrix(classes, 1);n = matrix(classes, 1);u = matrix(classes, 1);nb = matrix(classes, 1);pred = matrix(classes, 1);C_matt = matrix(classes, 1);disp_size = (long) ceil(log10((double) nb_ex));printf("\nConfusion matrix:\n");display_mat(matrice, classes, classes, disp_size, 0);for(z=1; z<=classes; z++)  nb[z][1] = 0.0;for(z=1; z<=classes; z++)  for(t=1; t<=classes; t++)    pred[t][1] = 0.0;for(z=1; z<=classes; z++)  for(t=1; t<=classes; t++)    {    nb[z][1] += matrice[z][t];    pred[t][1] += matrice[z][t];    }nbrec = 0.0;for(z=1; z<=classes; z++)  {  p[z][1] = matrice[z][z];  nbrec += p[z][1];  }for(z=1; z<=classes; z++)  {  u[z][1] = nb[z][1] - p[z][1];  o[z][1] = pred[z][1] - p[z][1];  }for(z=1; z<=classes; z++)  n[z][1] = nb_ex - (pred[z][1] + u[z][1]);for(z=1; z<=classes; z++)  {  denominateur = sqrt(n[z][1]+u[z][1]) * sqrt(n[z][1]+o[z][1]) *             sqrt(p[z][1]+u[z][1]) * sqrt(p[z][1]+o[z][1]);  if(denominateur != 0.0)    C_matt[z][1] = (p[z][1] * n[z][1] - u[z][1] * o[z][1]) / denominateur;  else    C_matt[z][1] = 0.0;  }printf("Matthews coefficients:\n\n");for(z=1; z<=classes; z++)  printf("C%d: %6.3f\n", z, C_matt[z][1]);printf("\n");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -