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

📄 verify-main.c

📁 Ripper 分类算法
💻 C
字号:
#include <stdio.h>#include "ripper.h"#include "protos.h"#include "mdb.h"/******************************************************************************/char *Program="verify";char *Help_str[] = {    "syntax: verify [options] [stem]",    "   do a consistency check on a dataset",    "",    "options are:",    "  -s:       read from stdinput",    "  -v#:      set verbosity",    NULL};main(argc,argv)int argc;char *argv[];{    vec_t *data;    char *stem;    int use_stdin;    int i,j,o;    ex_count_t p,n;    example_t *exi;    symbol_t *missing_sym;    BOOL *missing_count;    int minclass;    double old_info;        /* defaults */    use_stdin = FALSE;    set_trace_level(SUMM);    while ((o=getopt(argc,argv,"stv:h"))!=EOF) {	switch (o) {	  case 's':	    use_stdin = TRUE;	    break;	  case 'v':	    set_trace_level(atoi(optarg)); 	    break;	  case 'h':	  case '?':	  default: 	    give_help();	    if (o=='h') exit(0);	    else fatal("option not implemented");	}    }    if (optind<argc) {	stem = argv[optind++];	ld_names(add_ext(stem,".names"));	if (use_stdin) data = ld_data(NULL);	else data = ld_data(add_ext(stem,".data"));    } else {	data = ld_data(NULL);    }    if (optind<argc) {	warning("not all arguments were used: %s ...",argv[optind]);    }    if (!data || vmax(data)==0) fatal("no examples");    trace(SUMM) {	printf("= %d examples %d features %d values\n", 	       vmax(data),n_fields(),n_symbolic_values());	/* count class distribution */	printf("\n= num\t  pct\tclass\n");	for (i=0; i<vmax(Classes); i++) {	    count_class_freq(vref(atom_t,Classes,i)->nom,data,&p,&n);	    printf("%6.2f\t%6.2f\t",p,(p*100.0)/(p+n));	    print_atom(vref(atom_t,Classes,i));	    printf("\n");	}	fflush(stdout);    }    trace(LONG) {	missing_count = newmem(n_fields(),int); 	for (i=0; i<vmax(data); i++) {	    exi = vref(example_t,data,i);	    for (j=0; j<n_fields(); j++) {		if (vref(aval_t,exi->inst,j)->kind == MISSING_VALUE) {		    missing_count[j]++;		}	    }	}	printf("\n= attrib             type          #miss  #values\n");	for (i=0; i<n_fields(); i++) {	    printf("%-20.20s %6.6s\t",		   field_name(i),		   symbolic_field(i)? "symbol":(set_field(i)? "set" : "number"));	    if (missing_count[i]==0) printf("%6s","no");	    else printf("%6d",missing_count[i]);	    printf("%8d",n_different_field_values(i,data));	    printf("\n");	}/*for i*/    }}

⌨️ 快捷键说明

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