• 大小: 1.9MB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-01-03
  • 语言: Matlab
  • 标签:

资源简介

支持向量机 朴素贝叶斯 matlab代码 含说明文档 有测试数据 可以直接运行

资源截图

代码片段和文件信息

%利用SVM进行信息分类
%{
 xtrain:训练样本数据
 ytrain:每一组训练样本对应的训练结果
 xtest:测试样本
 ytest:测试结果
%}
clear all;
%获取txt文本数据
[filenamefilepath]=uigetfile(‘*.txt‘‘打开训练样本文件‘);
file=strcat(filepathfilename);%文件的绝对路径
%data_load=load(file);%获取txt文件的全部内容;;由于文件中不是纯数据,不能用load的形式
fidin=fopen(file‘r‘);
nline=0;

disp(‘正在load数据...‘);
while ~feof(fidin) %?判断是否为文件末尾?
    tline=fgetl(fidin); %?从文件读行?
    fnull=strfind(tline‘?‘);
    %提取txt文件中的有效参数,仅提取出用于训练的参数
    if isempty(fnull)
         nline=nline+1;
         train_data(nline:)=regexp(tline‘‘‘split‘);
    end
end
fclose(fidin);
disp(‘load完成!‘);

%将有用数据保存为txt文件,方便调用
button=questdlg(‘训练数据提取完成,是否保存为txt文件?‘‘保存训练数据‘‘是‘‘否‘‘是‘);
if strcmp(button‘是‘)
    save_txt(train_data);%将train样本转化成列向量便于保存
else
    return
end

%{

%在data中,训练结果是<=50 和>50,需要对该数据进行转化处理
%adult数据保存为adult.mat test数据保存为test.mat
%adult.mat中,第1111213列分别为age,capital-gain,capital-loss,hours-per-week
%data=importdata(‘data0.mat‘);
%train_data=mat2cell(data);
xtrain=[str2num(char(train_data(:1)))str2num(char(train_data(:11)))str2num(char(train_data(:12)))str2num(char(train_data(:13)))];
y=train_data(:15);
len=length(y);
ytrain=zeros(len1);
for i=1:len
    if ~isempty(strfind(y{i}‘<=‘))
        ytrain(i1)=0;
    elseif ~isempty(strfind(y{i}‘>‘))
        ytrain(i1)=1;
    end
end
%将有用数据保存为txt文件,方便调用
button=questdlg(‘训练数据提取完成,是否保存为txt文件?‘‘保存训练数据‘‘是‘‘否‘‘是‘);
if strcmp(button‘是‘)
    save_txt([xtrainytrain]);%将train样本转化成列向量便于保存
else
    return
end



%获取txt文本数据
[filenamefilepath]=uigetfile(‘*.txt‘‘打开测试文件‘);
file=strcat(filepathfilename);%文件的绝对路径
%data_load=load(file);%获取txt文件的全部内容;;由于文件中不是纯数据,不能用load的形式
fidin=fopen(file‘r‘);
nline=0;
disp(‘正在load数据...‘);
while ~feof(fidin) %?判断是否为文件末尾?
    tline=fgetl(fidin); %?从文件读行?
    fnull=strfind(tline‘?‘);
    %提取txt文件中的有效参数,仅提取出用于训练的参数
    if isempty(fnull)
         nline=nline+1;
         test_data(nline:)=regexp(tline‘‘‘split‘);
    end
end
fclose(fidin);
disp(‘load完成!‘);
%提取实验数据
xtest=[str2num(char(test_data(:1)))str2num(char(test_data(:11)))str2num(char(test_data(:12)))str2num(char(test_data(:13)))];
y=test_data(:15);
len=length(y);
yreal=zeros(len1);
for i=1:len
    if ~isempty(strfind(y{i}‘<=‘))
        yreal(i1)=0;
    elseif ~isempty(strfind(y{i}‘>‘))
        yreal(i1)=1;
    end
end
%将有用数据保存为txt文件,方便调用
button=questdlg(‘测试样本数据提取完成,是否保存为txt文件?‘‘保存测试数据‘‘是‘‘否‘‘是‘);
if strcmp(button‘是‘)
   save_txt([xtestyreal]);%将train样本转化成列向量便于保存
else
    return
end



%{
disp(‘SVM正在分类......‘);
%%%设置SVM各种参数%%%%%%%
c = 1000;
lambda = 1e-7;
kerneloption= 1;
kernel=‘poly‘;
verbose = 0;
%%%一对一算法
kerneloptionm.matrix=svmkernel(xtrainkernelkerneloption);
[xsupwbnbsvclassifierpos]=svmmulticlassoneagainstone([]ytrain4clambda‘numerical‘kerneloptionmverbose);
%支持向量机实现分类
kerneloptionm.matrix=svmkernel(xtestkernelkerneloptionxtrain(pos:));
[ytrainmaxi] = svmmultivalo

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    4006865  2014-10-31 15:30  支持向量机与朴素贝叶斯算法matlab实现\data\adult.txt

     文件    1209054  2014-11-07 13:08  支持向量机与朴素贝叶斯算法matlab实现\data\adult_right.txt

     文件    1072708  2014-11-12 19:50  支持向量机与朴素贝叶斯算法matlab实现\data\adult_right_guiyihua.txt

     文件    2019412  2014-10-31 15:31  支持向量机与朴素贝叶斯算法matlab实现\data\test.txt

     文件     603504  2014-11-07 13:04  支持向量机与朴素贝叶斯算法matlab实现\data\test_right.txt

     文件     535437  2014-11-12 19:51  支持向量机与朴素贝叶斯算法matlab实现\data\test_right_guiyihua.txt

     文件       2016  2014-11-08 15:24  支持向量机与朴素贝叶斯算法matlab实现\data\数据分析.txt

     文件       3527  2014-11-28 21:02  支持向量机与朴素贝叶斯算法matlab实现\libsvm\datapro.m

     文件         97  2014-11-08 17:13  支持向量机与朴素贝叶斯算法matlab实现\libsvm\guiyihua.m

     文件     732563  2014-11-28 20:46  支持向量机与朴素贝叶斯算法matlab实现\libsvm\letter.txt

     文件     745662  2014-11-28 21:09  支持向量机与朴素贝叶斯算法matlab实现\libsvm\letter_change.txt

     文件       2404  2014-11-28 20:55  支持向量机与朴素贝叶斯算法matlab实现\libsvm\libsvm.asv

     文件       2482  2014-11-28 21:15  支持向量机与朴素贝叶斯算法matlab实现\libsvm\libsvm.m

     文件        926  2014-11-12 20:16  支持向量机与朴素贝叶斯算法matlab实现\libsvm\lisanhua.m

     文件        716  2014-11-12 19:50  支持向量机与朴素贝叶斯算法matlab实现\libsvm\save_txt.m

     文件      10958  2014-11-28 20:30  支持向量机与朴素贝叶斯算法matlab实现\libsvm\wine.txt

     文件        127  2014-12-08 13:26  支持向量机与朴素贝叶斯算法matlab实现\libsvm\说明.txt

     文件    1072708  2014-11-12 19:50  支持向量机与朴素贝叶斯算法matlab实现\NBC_pro\adult_right_guiyihua.txt

     文件       2536  2014-11-13 22:13  支持向量机与朴素贝叶斯算法matlab实现\NBC_pro\adult_test_nbc.asv

     文件       2374  2014-11-13 15:40  支持向量机与朴素贝叶斯算法matlab实现\NBC_pro\adult_test_nbc.m

     文件         97  2014-11-08 17:13  支持向量机与朴素贝叶斯算法matlab实现\NBC_pro\guiyihua.m

     文件       1185  2014-09-30 16:28  支持向量机与朴素贝叶斯算法matlab实现\NBC_pro\nbc_Priors.m

     文件       3012  2014-11-12 21:34  支持向量机与朴素贝叶斯算法matlab实现\NBC_pro\predict_nbc.m

     文件     535437  2014-11-12 19:51  支持向量机与朴素贝叶斯算法matlab实现\NBC_pro\test_right_guiyihua.txt

     文件       3119  2014-11-12 18:32  支持向量机与朴素贝叶斯算法matlab实现\NBC_pro\train_nbc.m

     文件        517  2014-11-12 22:25  支持向量机与朴素贝叶斯算法matlab实现\NBC_pro\说明文档.txt

     文件        543  2014-11-23 11:07  支持向量机与朴素贝叶斯算法matlab实现\程序说明.txt

     目录          0  2014-12-08 13:22  支持向量机与朴素贝叶斯算法matlab实现\data

     目录          0  2014-12-08 13:24  支持向量机与朴素贝叶斯算法matlab实现\libsvm

     目录          0  2014-12-08 13:22  支持向量机与朴素贝叶斯算法matlab实现\NBC_pro

............此处省略4个文件信息

评论

共有 条评论