libsvm c++ 简单例子 性别预测
2014-11-22 22:13
393 查看
libsvm身高预测简单例子
步骤:
1.libsvm官网下载,libsvm包,http://www.csie.ntu.edu.tw/~cjlin/libsvm/
2.新建工程,并导入头文件和源文件,svm.h svm-train.c svm.cpp
3.新建svm_example.cpp源文件,编写svm_example文件
svm_example步骤
1.参数实例化,导入或初始化train数据
2.生成model
3.初始化test数据,并预测
svm_example.cpp文件如下
工程下载链接http://download.csdn.net/detail/zilong230905/8188157
参考:
1.libsvm工具箱C++下编程实践1
2.libSVM分类小例C++
3.libsvm实例
4.SMO的C++实现
步骤:
1.libsvm官网下载,libsvm包,http://www.csie.ntu.edu.tw/~cjlin/libsvm/
2.新建工程,并导入头文件和源文件,svm.h svm-train.c svm.cpp
3.新建svm_example.cpp源文件,编写svm_example文件
svm_example步骤
1.参数实例化,导入或初始化train数据
2.生成model
3.初始化test数据,并预测
svm_example.cpp文件如下
#include "svm.h" #include <string.h> #include<iostream> using namespace std; svm_parameter param; void init_param(){ param.svm_type = C_SVC; param.kernel_type = RBF; param.degree = 3; param.gamma = 0.0001; param.coef0 = 0; param.nu = 0.5; param.cache_size = 100; param.C = 10; param.eps = 1e-5; param.shrinking = 1; param.probability = 0; param.nr_weight = 0; param.weight_label = NULL; param.weight = NULL; } int main(){ init_param(); svm_problem prob; prob.l = 4; //样本数 prob.y = new double[prob.l]; double d; int probfeature = 2; //样本特征维数 if(param.gamma == 0) param.gamma = 0.5; svm_node *x_space = new svm_node[(probfeature+1)*prob.l];//样本特征存储空间 prob.x = new svm_node * [prob.l]; //每一个X指向一个样本 cout<<"size: "<<sizeof(x_space)<<endl; //train data 身高190cm,体重70kg,男 x_space[0].index = 1; x_space[0].value = 190; x_space[1].index = 2; x_space[1].value = 70; x_space[2].index = -1; prob.x[0] = &x_space[0]; prob.y[0] = 1; x_space[3].index = 1; x_space[3].value = 180; x_space[4].index = 2; x_space[4].value = 80; x_space[5].index = -1; prob.x[1] = &x_space[3]; prob.y[1] = 1; x_space[6].index = 1; x_space[6].value = 161; x_space[7].index = 2; x_space[7].value = 45; x_space[8].index = -1; prob.x[2] = &x_space[6]; prob.y[2] = -1; x_space[9].index = 1; x_space[9].value = 163; x_space[10].index = 2; x_space[10].value = 47; x_space[11].index = -1; prob.x[3] = &x_space[9]; prob.y[3] = -1; svm_model *model = svm_train(&prob, ¶m); //predict 身高180cm, 体重85kg svm_node xnode[3]; xnode[0].index = 1; xnode[0].value = 161; xnode[1].index = 2; xnode[1].value = 85; xnode[2].index = -1; d = svm_predict(model, xnode); cout<<d<<" "<<endl; //predict 身高161cm,体重50kg xnode[0].index = 1; xnode[0].value = 180; xnode[1].index = 2; xnode[1].value = 40; xnode[2].index = -1; d = svm_predict(model, xnode); cout<<d<<" "<<endl; delete[] x_space; delete[] prob.x; delete[] prob.y; }
工程下载链接http://download.csdn.net/detail/zilong230905/8188157
参考:
1.libsvm工具箱C++下编程实践1
2.libSVM分类小例C++
3.libsvm实例
4.SMO的C++实现
相关文章推荐
- C++ Boost 之Python(一个简单的例子)
- c++Web Service的简单例子
- Protocol Buffer 二 简单例子之C++程序
- Android中使用C++程序读写Parcel的简单例子
- 从简单的例子,走进C++程序设计的殿堂
- 一个最简单的com组件的例子(C++)
- 简单C++文件读写例子
- libsvm 接口 [供自己的C/C++程序训练预测用]
- 【09.03.30】Android中使用C++程序读写Parcel的简单例子
- SVM实现多分类的程序基础工作(二)——通过一个简单libsvm例子迈入libsvm学习的大门
- c++简单例子
- 用Boost::spirit库写C++的源代码解析器(一) 一个简单的例子:解析enum的解析器雏形
- 在遍历C++map中删除元素算法(简单例子)
- 一个利用友元函数结合C和C++的简单例子
- C++ 回调函数的简单例子
- 使用C++对文件加密的简单例子
- 一个最简单的OSG例子源代码(C++)
- 一个简单例子让你了解C++命名空间
- C++ 调用Lua简单例子
- C++设计模式之 简单工厂模式讲解(历史上最简单明白的例子)