91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發布日期: 2021-04-27
  • 語言: Matlab
  • 標簽: TWSVM??MATLAB??

資源簡介

借助(線性)孿生支持向量機對二分類問題的求解程序。

資源截圖

代碼片段和文件信息

%?支持向量機Matlab工具箱C-SVC?孿生線性核函數二類分類算法
%?使用平臺?-?Matlab7.12


close?all
clear
clc

load?N_p???%?正類點數據,特征信息存放在列里面
load?N_n???%?負類點數據,特征信息存放在列里面

?
%%?第一步:數據預處理
%?由原來的數據產生80%的訓練數據和20%的預測數據
n_p=size(N_p2);
n_n=size(N_n2);
n1=randperm(n_p);??????%?對1到n的n個正整數進行隨機不重復的排列,形成一個1行n列的矩陣
n1=n1‘;
n2=randperm(n_n);
n2=n2‘;
f_p=floor(4*n_p/5);????%?取80%的數據作為訓練集,其余20%作為預測集
f_n=floor(4*n_n/5);?
data_train_p=N_p(:n1(1:f_p));??????????????????%?正類訓練數據
data_train_n=N_n(:n2(1:f_n));??????????????????%?負類訓練數據
data_train=[data_train_pdata_train_n];?????????%?訓練數據集(含正負類)
Y_train=[ones(1f_p)-ones(1f_n)];?????????????%?訓練數據標簽集?

data_predict_p=N_p(:n1(f_p+1:end));????????????%?正類預測數據
data_predict_n=N_n(:n2(f_n+1:end));????????????%?負類預測數據
data_predict=[data_predict_pdata_predict_n];???%?預測數據集(含正負類)
Y_predict=[ones(1n_p-f_p)-ones(1n_n-f_n)];???%?預測數據標簽集?

%?相關參數初始化
bestAccuracy=0;
k=0;
c1min=-2;
c1max=2;
c2min=-2;
c2max=2;
aac=rand(101);
best_c1=0;best_c2=0;
data_train=data_train‘;
Y_train=Y_train‘;


%%?第二步:數據訓練尋找最優參數c1c2
%??將c1和c2劃分網格進行搜索
indices?=?crossvalind(‘Kfold‘Y_train10);????
tic;
for?c1=2^(c1min):1:2^(c1max)
????for?c2=2^(c2min):1:2^(c2max)
????????%采用K-CV方法將data大致平均分為K組
????????for?run=?1:10
????????????test=(indices?==?run);?train=~test;?
????????????
????????????train_data=data_train(train:);????????????%?訓練數據集(含正類負類點集)?數據信息全在行里面?????????
????????????train_data_label=Y_train(train:);?????????%?訓練集標簽(含正類負類點集)?數據信息全在行里面
????????????
????????????test_data=data_train(test:);??????????????%?預測數據集(含正類負類點集)?數據信息全在行里面
????????????test_data_label=Y_train(test:);???????????%?預測集標簽(含正類負類點集)?數據信息全在行里面
????????????
????????????groupA=ismember(train_data_label1);???????%?分出正類點的位置????????????數據信息全在行里面
????????????groupB=ismember(train_data_label-1);??????%?分出正類點的位置????????????數據信息全在行里面
???????%?關于ismember函數的具體用法,使用help?ismember可以進一步了解
???????
????????????A=train_data(groupA:);????????????????????%?正類訓練數據????????????????數據信息全在行里面
????????????B=train_data(groupB:);???
????????????%用模糊支持向量機訓練數據
????????????[v1v2]=twinsvm_lin_train(ABc1c2);??????
?????????????%下面用驗證集進行驗證并記錄此時的準確率
????????????row=size(test_data1);
????????????result=rand(row1);
????????????test_data1=[test_dataones(row1)];
????????????distance1=abs(test_data1*v1);
????????????distance2=abs(test_data1*v2);
????????????test_distance=min(distance1distance2);
????????????for?run1=1:row
????????????????if?test_distance(run1)==distance1(run1)
????????????????????result(run1)=1;
????????????????else
????????????????????result(run1)=-1;
????????????????end
????????????end
??????????for?run1=1:row
??????????????if?test_data_label(run1)==result(run1)
??????????????????k=k+1;
??????????????end
??????????end
??????????aac(run)=k/row;
??????????k=0;
????????end
????????cv=sum(aac)/10;
????????if?(cv>bestAccuracy)
????????????bestAccuracy=cv;
????????????best_c1=c1;
????????????best_c2=c2;
????????e

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????1780??2012-05-10?20:37??N_p.mat

?????文件???????1290??2012-07-23?14:28??twinsvm_lin_train.m

?????文件???????5550??2012-09-03?17:56??lin_main.m

?????文件???????1782??2012-05-10?20:36??N_n.mat

-----------?---------??----------?-----??----

????????????????10402????????????????????4


評論

共有 條評論