📄 knn.c
字号:
/* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -