资源简介
SVM分类算法的实验报告,其中有c语言程序,还有数据集很全面。是数据挖掘、算法设计实验报告的绝佳参考。我们以前上机的报告
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
#include “svm.h“
int libsvm_version = LIBSVM_VERSION;
typedef float Qfloat;
typedef signed char schar;
#ifndef min
template static inline T min(T xT y) { return (x #endif
#ifndef max
template static inline T max(T xT y) { return (x>y)?x:y; }
#endif
template static inline void swap(T& x T& y) { T t=x; x=y; y=t; }
template static inline void clone(T*& dst S* src int n)
{
dst = new T[n];
memcpy((void *)dst(void *)srcsizeof(T)*n);
}
static inline double powi(double base int times)
{
double tmp = base ret = 1.0;
for(int t=times; t>0; t/=2)
{
if(t%2==1) ret*=tmp;
tmp = tmp * tmp;
}
return ret;
}
#define INF HUGE_VAL
#define TAU 1e-12
#define Malloc(typen) (type *)malloc((n)*sizeof(type))
static void print_string_stdout(const char *s)
{
fputs(sstdout);
fflush(stdout);
}
static void (*svm_print_string) (const char *) = &print_string_stdout;
#if 1
static void info(const char *fmt...)
{
char buf[BUFSIZ];
va_list ap;
va_start(apfmt);
vsprintf(buffmtap);
va_end(ap);
(*svm_print_string)(buf);
}
#else
static void info(const char *fmt...) {}
#endif
//
// Kernel Cache
//
// l is the number of total data items
// size is the cache size limit in bytes
//
class Cache
{
public:
Cache(int llong int size);
~Cache();
// request data [0len)
// return some position p where [plen) need to be filled
// (p >= len if nothing needs to be filled)
int get_data(const int index Qfloat **data int len);
void swap_index(int i int j);
private:
int l;
long int size;
struct head_t
{
head_t *prev *next; // a circular list
Qfloat *data;
int len; // data[0len) is cached in this entry
};
head_t *head;
head_t lru_head;
void lru_delete(head_t *h);
void lru_insert(head_t *h);
};
Cache::Cache(int l_long int size_):l(l_)size(size_)
{
head = (head_t *)calloc(lsizeof(head_t)); // initialized to 0
size /= sizeof(Qfloat);
size -= l * sizeof(head_t) / sizeof(Qfloat);
size = max(size 2 * (long int) l); // cache must be large enough for two columns
lru_head.next = lru_head.prev = &lru_head;
}
Cache::~Cache()
{
for(head_t *h = lru_head.next; h != &lru_head; h=h->next)
free(h->data);
free(head);
}
void Cache::lru_delete(head_t *h)
{
// delete from current location
h->prev->next = h->next;
h->next->prev = h->prev;
}
void Cache::lru_insert(head_t *h)
{
// insert to last position
h->next = &lru_head;
h->prev = lru_head.prev;
h->prev->next = h;
h->next->prev = h;
}
int Cache::get_data(const int index Qfloat **data int len)
{
head_t *h = &head[index];
if(h->len) lru_delete(h);
int more = len - h->len;
if(more > 0)
{
// free old space
while(size < more)
{
head_t *old = lru_head.next;
lru_delete(old);
free(old->data);
size += old->len;
old->data = 0;
old->len = 0;
}
/
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-12-07 20:22 实验报告\
目录 0 2011-12-07 20:22 实验报告\实验代码\
文件 119808 2011-12-07 20:20 实验报告\实验报告.doc
目录 0 2011-12-07 20:22 实验报告\实验代码\Debug\
文件 0 2011-12-07 20:22 实验报告\实验代码\Debug\filePath
文件 161433 2011-12-07 11:19 实验报告\实验代码\Debug\svm.obj
文件 0 2011-12-07 11:19 实验报告\实验代码\Debug\svm.sbr
文件 250811 2011-12-07 19:50 实验报告\实验代码\Debug\Test.obj
文件 0 2011-12-07 19:50 实验报告\实验代码\Debug\Test.sbr
文件 205824 2011-12-07 19:50 实验报告\实验代码\Debug\vc60.idb
文件 176128 2011-12-07 19:50 实验报告\实验代码\Debug\vc60.pdb
文件 3736576 2011-12-07 19:50 实验报告\实验代码\Debug\wenben.bsc
文件 692275 2011-12-07 19:50 实验报告\实验代码\Debug\wenben.exe
文件 892752 2011-12-07 19:50 实验报告\实验代码\Debug\wenben.ilk
文件 2805060 2011-12-07 11:21 实验报告\实验代码\Debug\wenben.pch
文件 1270784 2011-12-07 19:50 实验报告\实验代码\Debug\wenben.pdb
文件 8006 2011-12-07 19:50 实验报告\实验代码\filePath
文件 682934 2011-12-07 19:50 实验报告\实验代码\model.txt
文件 4811 2011-12-06 19:19 实验报告\实验代码\preditdata.txt
文件 12009 2011-12-07 11:18 实验报告\实验代码\result.txt
文件 62947 2011-05-27 11:32 实验报告\实验代码\svm.cpp
文件 3160 2011-11-25 21:14 实验报告\实验代码\svm.h
文件 4105 2011-12-07 19:50 实验报告\实验代码\Test.cpp
文件 1011971 2011-12-05 11:11 实验报告\实验代码\ticdata2000.txt
文件 687817 2011-12-06 22:35 实验报告\实验代码\ticeval2000.txt
文件 12007 2011-12-06 22:35 实验报告\实验代码\tictgts2000.txt
文件 29899 2011-12-06 19:00 实验报告\实验代码\traindata.txt
文件 4398 2011-12-07 12:01 实验报告\实验代码\wenben.dsp
文件 537 2011-12-06 16:18 实验报告\实验代码\wenben.dsw
文件 74752 2011-12-07 20:21 实验报告\实验代码\wenben.ncb
文件 48640 2011-12-07 20:21 实验报告\实验代码\wenben.opt
............此处省略1个文件信息
- 上一篇:MFC实现UDP网络编程
- 下一篇:OpenGL+MFC工程具备鼠标操作
相关资源
- C++实现支持向量SVM机分类器.zip
- 基于PCA和SVM的人脸识别系统
- opencv SVM图像分类工程文件
- 基于SVM与人工神经网络的车牌识别O
- 基于SVM与人工神经网络的车牌识别C
- 训练SVM分类器
- svm分类算法(附实验报告)
- HOG+SVM代码及文档说明
- 基于SVM的语音情感识别系统
- c++代码LSSVM支持向量机
- 基于vc++的SVM
- svm训练图像
- MATLAB2014a与vs2012混合编译解决使用li
- SVM+OPENCV+交叉验证 计算识别率
- 基于MFCC和SVM的说话人性别识别
- 行人检测 opencv
- 自己写的HOG+SVM用于视频中的人体检测
- svm模糊分类源程序
- matlab的SVM工具包
- casia语音情感识别SVM分类
- PSO—SVM
- libsvm-3.21
- c语言写的svm程序
- SVM算法C++代码
- PSO-LS-SVM代码
- Opencv2.4.12 SVM手写数字识别
- svm_smo_多分类_c++
- libsvm工具箱libsvm-3.22版
- libsvm
- 基于SVM与BoW的图片分类的OpenCV实现-
评论
共有 条评论