📄 trivial.c
字号:
/* Copyright (C) 2002 Mikael Ylikoski * See the accompanying file "README" for the full copyright notice *//** * @file * Trivial classifier. * Classifies according to class frequency or by random. * * @author Mikael Ylikoski * @date 2002 */#include <ctype.h>#include <stdlib.h>#include <string.h>#include "multi.h"#include "utility.h"#include "vector.h"/** * Trivial classifier. */typedef struct { int seed; /**< Pseudo random number generator seed */} trivial_db;/** * Trivial classifier. */typedef struct { int df; /**< Document Frequency for class */} trivial_class;/** * Create a new classifier database. * * @return The new classifier database. */void *trivial_new_db (const char *opts) { trivial_db *db; db = my_malloc (sizeof(trivial_db)); db->seed = 0; if (opts) { /* seed */ sscanf (opts, "s=%d", &db->seed); if (db->seed != 0) srand (db->seed); } return db;}/** * Create a new classifier. * * @return The classifier. */void *trivial_new (void) { trivial_class *nbc; nbc = my_malloc (sizeof(trivial_class)); nbc->df = 0; return nbc;}inttrivial_learn (void *db, void *data, vector *v, int class) { trivial_class *trc; trc = (trivial_class *)data; if (class != 1) return -1; trc->df++; return 0;}inttrivial_unlearn (void *db, void *data, vector *v, int class) { trivial_class *trc; trc = (trivial_class *)data; if (class != 1) return -1; if (trc->df > 0) trc->df--; return 0;}doubletrivial_classify (void *db, void *data, vector *v) { trivial_class *trc; trivial_db *tdb; trc = (trivial_class *)data; tdb = (trivial_db *)db; if (tdb->seed == 0) return trc->df; else return 1 + rand ();}/** * Keep cygwin happy. */intmain (void) { return 0;}/** * Trivial classifier name. */const char *my_classifier_name = "Trivial";/** * Trivial classifier functions. */const multi_functions my_functions = { .new_db = trivial_new_db, .new = trivial_new, .learn = trivial_learn, .unlearn = trivial_unlearn, .classify = trivial_classify, .option = 0};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -