资源简介
自己写的c++程序,svm(支持向量机)smo方法,可用于多分类,可运行,附有数据。
代码片段和文件信息
//The kernel function is RBF(Radial-Basis Function).
#include “smo.h“
void main()
{ // ofstream outClientFile(“data_b_a_result.txt“ ios::out);//如果指定的文件data_result.txt不存在,ofstream就用该文件名建立它。
// ofstream outClientFile2(“test_result.txt“ ios::out);
//设置样本值矩阵
setX();
//设置目标值矩阵
setT();
//有e种目标分法,end_support_i个样本,1个测试样本,分别对每一种情况进行训练。
int ij;
for(int aa=first_test_i;aa {
for(i=0;i {//i=0;
result=0;
for(j=0;j {
target[j]=target1[j][i];
}
smoExample();
for(j=0;j {
if(alph[j]>0)
result+=target[j]*alph[j]*kernel_func(jaa);
}
result=result-b;
if(result>0)
result=1;
else
result=-1;
result_final[aa-first_test_i][i]=result;
/* cout< outClientFile< outClientFile<<“b=“< outClientFile2< for(j=0;j {
outClientFile<<“alph[“< }
*/
}
/* cout< outClientFile2< }
/* outClientFile2< outClientFile< right_rate();
system(“pause“);
//存放训练后的参数
}
void setX()
{
//为了在需要时方便地检索要处理的数据,数据应保存在文件中。
ifstream inClientFile(“data_train.txt“ ios::in);//ifstream用于从指定文件输入
if(!inClientFile)//用!inClientFile条件判断文件是否打开成功
{
cerr<<“File could not be opened!“< exit(1);//exit的作用为终止程序。
}//end if
int i=0j=0;
double a_data;//a_data为每次读到的数据 默认为6位有效数字。
while(inClientFile>>a_data)
{
dense_points[i][j]=a_data;
j++;
if(j==d)
{
j=0;
i++;
}
}
inClientFile.close();//显式关闭不再引用的文件。
}
//set targetT[]
void setT()
{
//为了在需要时方便地检索要处理的数据,数据应保存在文件中。
ifstream inClientFile(“data_labels.txt“ ios::in);//ifstream用于从指定文件输入
//exit program if ifstream could not open file
if(!inClientFile)//用!inClientFile条件判断文件是否打开成功
{
cerr<<“File could not be opened!“< exit(1);//exit的作用为终止程序。
}//end if
//训练样本目标值
int i=0j=0;
int a_data;//a_data为每次读到的数据 默认为6位有效数字。
while(inClientFile>>a_data)
{
target1[i][j]=a_data;
j++;
if(j==e)
{
j=0;
i++;
}
}
inClientFile.close();//显式关闭不再引用的文件。
}
void right_rate()
{
ifstream inClientFile(“test_labels.txt“ ios::out);
if(!inClientFile)//用!inClientFile条件判断文件是否打开成功
{
cerr<<“File could not be opened!“< exit(1);//exit的作用为终止程序。
}//end if
int i=0j=0;
int a_data;//a_data为每次读到的数据 默认为6位有效数字。
while(inClientFile>>a_data)
{
tes
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 801 2012-10-16 20:57 svm_smo\data_labels.txt
文件 18414 2012-10-24 13:04 svm_smo\data_train.txt
文件 14255 2012-11-15 18:13 svm_smo\smo.cpp
文件 1591 2012-11-15 18:09 svm_smo\smo.h
文件 801 2012-10-16 20:57 svm_smo\test_labels.txt
目录 0 2012-11-15 18:15 svm_smo
----------- --------- ---------- ----- ----
35862 6
- 上一篇:基于Gmssl的SM2加解密算法Demo
- 下一篇:音乐跑马灯C语言程序
相关资源
- bpsk的C语言代码
- c++ ado操作sql server封装类
- C/C++实现linux和Windows查看系统、进程、
- 小型超市管理系统(C++)
- 飞机订票系统___c++
- c++类声明和成员函数分离写法
- opencv多视频同一窗口显示C++程序
- c++ primer plus第六版配套源代码,很全
- C++文件加密系统实验报告
- C语言版本的DES加密解密算法代码!(
- 空间后方交会MFC版,C++源代码
- C++聊天室客户端+服务端
- Aitken加速法算法用c++描述
- vc++ 数据采集卡编程
- Linux 串口源代码纯C++
- 青岛理工大学c++试题
- Viterbi算法c/c++实现
- 银行家算法c++工程项目文件
- Visual+C+++车牌识别程序
- 循环码编码器
- 图像分割 grabcut C++版本的源码,包含
- VC++ CALLBACK
- C/C++ STL参考手册 STL帮助文档 中文/英
- 基于C++和MFC的哈夫曼编码压缩软件的
- mysql 将图片以二进制格式存储到数据
- C++人事管理系统
- mfc ado操作sql数据库查询、读写,删除
- hough检测直线的程序
- 电梯运行仿真程序
- c++实现的MFC课程设计--旅游管理系统
评论
共有 条评论