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

📄 trivial.c

📁 使用具有增量学习的监控式学习方法。包括几个不同的分类算法。
💻 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 + -