knn.c
来自「使用具有增量学习的监控式学习方法。包括几个不同的分类算法。」· C语言 代码 · 共 84 行
C
84 行
/* Copyright (C) 2001-2002 Mikael Ylikoski * See the accompanying file "README" for the full copyright notice *//** * @file * K-Nearest-Neighbour algorithm. * FIXME: fungerar inte * * @param Mikael Ylikoski * @date 2001-2002 */#include <stdlib.h>#include "float.h"#include "knn.h"#include "multi.h"#include "utility.h"#include "varray.h"#include "vector.h"typedef struct { int k;} knn_db;typedef struct { varray *docs;} knn_class;/** * Create a new global state. * * @return The classifier. */void *knn_new_db (const char *opts) { knn_db *db; db = my_malloc (sizeof(knn_db)); db->k = 5; return db;}/** * Create a new knn class. */void *knn_new (void) { knn_class *kc; kc = my_malloc (sizeof(knn_class)); kc->docs = varray_new (10); if (!kc->docs) { free (kc); return NULL; } return kc;}/** * Learn the vector v of class class. * * @return 0 if ok; non-zero otherwise. */intknn_learn (void *db, void *data, vector *v, int class) { knn_class *kc; if (class != 1) return -1; kc = (knn_class *)data; varray_append (kc->docs, v); return 0;}/** * FIXME om samma vektor finns flera g錸ger, skall d
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?