-
大小: 24.38MB文件類型: .zip金幣: 1下載: 0 次發布日期: 2023-07-06
- 語言: Python
- 標簽: MATLAB??SVM算法??libsvm-3.20??數學建模??
資源簡介
內含MATLAB版本的SVM程序、PYTHON版本的SVM程序,以及LIBSVM-3.20封裝svm的應用程序(可直接通過CMD調用),內含詳細代碼注釋以及軟件使用情況
代碼片段和文件信息
import?libsvm.*;
import?java.io.*;
import?java.util.*;
class?svm_predict?{
private?static?svm_print_interface?svm_print_null?=?new?svm_print_interface()
{
public?void?print(String?s)?{}
};
private?static?svm_print_interface?svm_print_stdout?=?new?svm_print_interface()
{
public?void?print(String?s)
{
System.out.print(s);
}
};
private?static?svm_print_interface?svm_print_string?=?svm_print_stdout;
static?void?info(String?s)?
{
svm_print_string.print(s);
}
private?static?double?atof(String?s)
{
return?Double.valueOf(s).doubleValue();
}
private?static?int?atoi(String?s)
{
return?Integer.parseInt(s);
}
private?static?void?predict(BufferedReader?input?DataOutputStream?output?svm_model?model?int?predict_probability)?throws?IOException
{
int?correct?=?0;
int?total?=?0;
double?error?=?0;
double?sumv?=?0?sumy?=?0?sumvv?=?0?sumyy?=?0?sumvy?=?0;
int?svm_type=svm.svm_get_svm_type(model);
int?nr_class=svm.svm_get_nr_class(model);
double[]?prob_estimates=null;
if(predict_probability?==?1)
{
if(svm_type?==?svm_parameter.EPSILON_SVR?||
???svm_type?==?svm_parameter.NU_SVR)
{
svm_predict.info(“Prob.?model?for?test?data:?target?value?=?predicted?value?+?z\nz:?Laplace?distribution?e^(-|z|/sigma)/(2sigma)sigma=“+svm.svm_get_svr_probability(model)+“\n“);
}
else
{
int[]?labels=new?int[nr_class];
svm.svm_get_labels(modellabels);
prob_estimates?=?new?double[nr_class];
output.writeBytes(“labels“);
for(int?j=0;j output.writeBytes(“?“+labels[j]);
output.writeBytes(“\n“);
}
}
while(true)
{
String?line?=?input.readLine();
if(line?==?null)?break;
StringTokenizer?st?=?new?StringTokenizer(line“?\t\n\r\f:“);
double?target?=?atof(st.nextToken());
int?m?=?st.countTokens()/2;
svm_node[]?x?=?new?svm_node[m];
for(int?j=0;j {
x[j]?=?new?svm_node();
x[j].index?=?atoi(st.nextToken());
x[j].value?=?atof(st.nextToken());
}
double?v;
if?(predict_probability==1?&&?(svm_type==svm_parameter.C_SVC?||?svm_type==svm_parameter.NU_SVC))
{
v?=?svm.svm_predict_probability(modelxprob_estimates);
output.writeBytes(v+“?“);
for(int?j=0;j output.writeBytes(prob_estimates[j]+“?“);
output.writeBytes(“\n“);
}
else
{
v?=?svm.svm_predict(modelx);
output.writeBytes(v+“\n“);
}
if(v?==?target)
++correct;
error?+=?(v-target)*(v-target);
sumv?+=?v;
sumy?+=?target;
sumvv?+=?v*v;
sumyy?+=?target*target;
sumvy?+=?v*target;
++total;
}
if(svm_type?==?svm_parameter.EPSILON_SVR?||
???svm_type?==?svm_parameter.NU_SVR)
{
svm_predict.info(“Mean?squared?error?=?“+error/total+“?(regression)\n“);
svm_predict.info(“Squared?correlation?coefficient?=?“+
?((total*sumvy-sumv*sumy)*(total*sumvy-sumv*sumy))/
?((total*sumvv-sumv*sumv)*(total*sumyy-sumy*sumy))+
?“?(regression)\n“);
}
else
svm_predict.info(“Accuracy?=?“
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-08-26?10:53??libsvm-3.20\
?????文件?????????206??2019-08-26?10:57??libsvm-3.20\README.txt
?????目錄???????????0??2019-08-26?10:49??libsvm-3.20\java\
?????文件?????????624??2014-11-15?06:51??libsvm-3.20\java\Makefile
?????目錄???????????0??2019-08-26?10:49??libsvm-3.20\java\libsvm\
?????文件???????63803??2014-11-15?06:52??libsvm-3.20\java\libsvm\svm.java
?????文件???????63095??2014-11-15?06:51??libsvm-3.20\java\libsvm\svm.m4
?????文件?????????868??2014-11-15?06:51??libsvm-3.20\java\libsvm\svm_model.java
?????文件?????????115??2014-11-15?06:51??libsvm-3.20\java\libsvm\svm_node.java
?????文件????????1288??2014-11-15?06:51??libsvm-3.20\java\libsvm\svm_parameter.java
?????文件??????????87??2014-11-15?06:51??libsvm-3.20\java\libsvm\svm_print_interface.java
?????文件?????????136??2014-11-15?06:51??libsvm-3.20\java\libsvm\svm_problem.java
?????文件???????51917??2014-11-15?06:52??libsvm-3.20\java\libsvm.jar
?????文件????????4950??2014-11-15?06:51??libsvm-3.20\java\svm_predict.java
?????文件????????8944??2014-11-15?06:51??libsvm-3.20\java\svm_scale.java
?????文件???????12269??2014-11-15?06:51??libsvm-3.20\java\svm_toy.java
?????文件????????8355??2014-11-15?06:51??libsvm-3.20\java\svm_train.java
?????文件??????????81??2014-11-15?06:51??libsvm-3.20\java\test_ap
?????目錄???????????0??2019-08-26?10:51??libsvm-3.20\matlab\
?????文件???????18134??2019-03-23?21:17??libsvm-3.20\matlab\MATLABOCTAVE?interface?of?LIBSVM.docx
?????文件????????1240??2014-11-15?06:51??libsvm-3.20\matlab\Makefile
?????文件????????9826??2014-11-15?06:51??libsvm-3.20\matlab\README
?????文件????????4063??2014-11-15?06:51??libsvm-3.20\matlab\libsvmread.c
?????文件????????2341??2014-11-15?06:51??libsvm-3.20\matlab\libsvmwrite.c
?????文件?????????777??2014-11-15?06:51??libsvm-3.20\matlab\make.m
?????文件????????8208??2014-11-15?06:51??libsvm-3.20\matlab\svm_model_matlab.c
?????文件?????????201??2014-11-15?06:51??libsvm-3.20\matlab\svm_model_matlab.h
?????文件????????9823??2014-11-15?06:51??libsvm-3.20\matlab\svmpredict.c
?????文件???????11821??2014-11-15?06:51??libsvm-3.20\matlab\svmtrain.c
?????目錄???????????0??2019-08-26?10:49??libsvm-3.20\python\
?????文件??????????32??2014-11-15?06:51??libsvm-3.20\python\Makefile
............此處省略42個文件信息
評論
共有 條評論