📄 partition-main.c
字号:
#include <stdio.h>#include "ripper.h"#include "protos.h"#include "mdb.h"/******************************************************************************/char *Program="partition";char *Help_str[] = { "syntax: partition [options] [stem]", " choose a random subset of a dataset", "", "options are:", " -s: read from stdin (not stem.data)", " -m#: choose # examples", " -p#: choose a percent # of the examples", " -r<str>: put remaining examples in file <str>", " -R: randomize operation", NULL};main(argc,argv)int argc;char *argv[];{ int m,i,j,ndel; int o; vec_t *data; char *stem; FILE *rfp; BOOL use_stdin; int pct; double frac; m = 0; rfp = NULL; pct = 50; use_stdin = FALSE; set_trace_level(NONE); while ((o=getopt(argc,argv,"stm:p:r:Rh"))!=EOF) { switch (o) { case 'R': randomize(); break; case 's': use_stdin = TRUE; break; case 'm': m = atoi(optarg); break; case 'p': frac = atof(optarg); if (frac<=1.0 && frac>=0.0) pct = 100*frac; else pct=frac; break; case 'r': rfp = fopen(optarg,"w"); if (rfp==NULL) fatal("can't open file %s for output",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 { /* no stem */ stem = "stdin"; data = ld_data(NULL); } if (optind<argc) { warning("not all arguments were used: %s ...",argv[optind]); } if (data==NULL || vmax(data)==0) fatal("no data!"); if (m!=0) { /* remove m random examples */ if (m<=0 || m >= vmax(data)) { fatal("m must be >=0 and <= %d(was %d)\n",vmax(data),m); } stratify_and_shuffle_data(data,1); ndel = vmax(data)-m; for (i=0; i<ndel; i++) { j = random()%vmax(data); if (rfp) fprint_example(rfp,vref(example_t,data,j)); swap_out_example(data,j); } } else { if (pct<=0 || pct>=100) { fatal("p must be between 0 and 100"); } for (i=0; i<vmax(data); i++) { if (random()%100 > pct) { if (rfp) fprint_example(rfp,vref(example_t,data,i)); swap_out_example(data,i); } } } fprint_data(stdout,data);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -