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

📄 pprint-rules-main.c

📁 Ripper 分类算法
💻 C
字号:
/****************************************************************************** pprint-rules-main.c - print a ruleset in a long format******************************************************************************/#include <stdio.h>#include <math.h>#include "ripper.h"static void pprint_rule(rule_t *);static void pprint_concept(concept_t *);/*****************************************************************************/char *Program="pprint-rules";char *Help_str[] = {    "syntax: pprint-rules [options] stem",    "   print a ripper ruleset",    "",    "options are:",    "  -v#: set trace level to #",    NULL};/*****************************************************************************/int main(argc,argv)int argc;char *argv[];{    char *stem;    concept_t *hyp;    int o;    FILE *fp;    BOOL sort;    sort = FALSE;    while ((o=getopt(argc,argv,"v:oh"))!=EOF) {	switch (o) {	  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++];    } else {	give_help();	fatal("no file stem specified");    }    if (optind<argc) {	warning("not all arguments were used: %s ...",argv[optind]);    }        /* now load the hypothesis */    ld_names(add_ext(stem,".names"));    if ((fp=fopen(add_ext(stem,".hyp"),"r"))==NULL) {	fatal("can't open concept file for read");    }    hyp = ld_concept(fp);    pprint_concept(hyp);    fclose(fp);}static void pprint_concept(concept_t *c){    int i;    for (i=0; i<vmax(c->rules); i++) {	pprint_rule(vref(rule_t,c->rules,i));    }    printf("[covers %g pos, %g neg examples]\n",c->nposx,c->nnegx);    print_symbol(c->def->nom);    printf(" :-\ttrue.\n");    if (c->res!=FIRST) {	printf("resolution=best.\n");    }}static void pprint_rule(rule_t *r){    int i,last_term;     gsym_t *gsym;    printf("[covers %g pos, %g neg examples]\n",r->nposx,r->nnegx);    print_symbol(r->conseq);    printf(" :-\n");    /* find the last terminal symbol */    last_term = -1;    for (i=0; i<vmax(r->antec); i++) {	gsym = vref(gsym_t,r->antec,i);	if (!gsym->nonterm) last_term=i;    }    if (last_term == -1) {	printf("\ttrue.\n\n");    } else {	for (i=0; i<vmax(r->antec); i++) {	    gsym = vref(gsym_t,r->antec,i);	    if (!gsym->nonterm) {		printf("\t");		print_gsym(gsym);		if (i==last_term) printf(".\n\n");		else printf(",\n");	    }	}    }}

⌨️ 快捷键说明

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