亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? svm-train.c

?? 馬克斯普朗克提供的機(jī)器學(xué)習(xí)程序包
?? C
字號(hào):
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "svm.h"
#include "mex.h"
#define Malloc(type,n) (type *)malloc((n)*sizeof(type))



struct svm_model
{
	struct svm_parameter param;	// parameter
	int nr_class;		// number of classes, = 2 in regression/one class svm
	int l;			// total #SV
	struct svm_node **SV;		// SVs (SV[l])
	double **sv_coef;	// coefficients for SVs in decision functions (sv_coef[n-1][l])
	double *rho;		// constants in decision functions (rho[n*(n-1)/2])

	// for classification only

	int *label;		// label of each class (label[n])
	int *nSV;		// number of SVs for each class (nSV[n])
				// nSV[0] + nSV[1] + ... + nSV[n-1] = l
	// XXX
	int free_sv;		// 1 if svm_model is created by svm_load_model
				// 0 if svm_model is created by svm_train
};



void exit_with_help()
{
	printf(
	"Usage: svm-train [options] training_set_file [model_file]\n"
	"options:\n"
	"-s svm_type : set type of SVM (default 0)\n"
	"	0 -- C-SVC\n"
	"	1 -- nu-SVC\n"
	"	2 -- one-class SVM\n"
	"	3 -- epsilon-SVR\n"
	"	4 -- nu-SVR\n"
	"-t kernel_type : set type of kernel function (default 2)\n"
	"	0 -- linear: u'*v\n"
	"	1 -- polynomial: (gamma*u'*v + coef0)^degree\n"
	"	2 -- radial basis function: exp(-gamma*|u-v|^2)\n"
	"	3 -- sigmoid: tanh(gamma*u'*v + coef0)\n"
	"-d degree : set degree in kernel function (default 3)\n"
	"-g gamma : set gamma in kernel function (default 1/k)\n"
	"-r coef0 : set coef0 in kernel function (default 0)\n"
	"-c cost : set the parameter C of C-SVC, epsilon-SVR, and nu-SVR (default 1)\n"
	"-n nu : set the parameter nu of nu-SVC, one-class SVM, and nu-SVR (default 0.5)\n"
	"-p epsilon : set the epsilon in loss function of epsilon-SVR (default 0.1)\n"
	"-m cachesize : set cache memory size in MB (default 40)\n"
	"-e epsilon : set tolerance of termination criterion (default 0.001)\n"
	"-h shrinking: whether to use the shrinking heuristics, 0 or 1 (default 1)\n"
	"-wi weight: set the parameter C of class i to weight*C, for C-SVC (default 1)\n"
	"-v n: n-fold cross validation mode\n"
	);
	exit(1);
}

void do_cross_validation();

struct svm_parameter param;		// set by parse_command_line
struct svm_problem prob;		// set by read_problem
struct svm_model *model;
struct svm_node *x_space;
int cross_validation = 0;
int nr_fold;

void do_cross_validation()
{
	int i;
	int total_correct = 0;
	double total_error = 0;
	double sumv = 0, sumy = 0, sumvv = 0, sumyy = 0, sumvy = 0;

	// random shuffle
	for(i=0;i<prob.l;i++)
	{
		int j = rand()%(prob.l-i);
		struct svm_node *tx;
		double ty;
			
		tx = prob.x[i];
		prob.x[i] = prob.x[j];
		prob.x[j] = tx;

		ty = prob.y[i];
		prob.y[i] = prob.y[j];
		prob.y[j] = ty;
	}

	for(i=0;i<nr_fold;i++)
	{
		int begin = i*prob.l/nr_fold;
		int end = (i+1)*prob.l/nr_fold;
		int j,k;
		struct svm_problem subprob;

		subprob.l = prob.l-(end-begin);
		subprob.x = Malloc(struct svm_node*,subprob.l);
		subprob.y = Malloc(double,subprob.l);
			
		k=0;
		for(j=0;j<begin;j++)
		{
			subprob.x[k] = prob.x[j];
			subprob.y[k] = prob.y[j];
			++k;
		}
		for(j=end;j<prob.l;j++)
		{
			subprob.x[k] = prob.x[j];
			subprob.y[k] = prob.y[j];
			++k;
		}

		if(param.svm_type == EPSILON_SVR ||
		   param.svm_type == NU_SVR)
		{
			struct svm_model *submodel = svm_train(&subprob,&param);
			double error = 0;
			for(j=begin;j<end;j++)
			{
				double v = svm_predict(submodel,prob.x[j]);
				double y = prob.y[j];
				error += (v-y)*(v-y);
				sumv += v;
				sumy += y;
				sumvv += v*v;
				sumyy += y*y;
				sumvy += v*y;
			}
			svm_destroy_model(submodel);
			printf("Mean squared error = %g\n", error/(end-begin));
			total_error += error;			
		}
		else
		{
			struct svm_model *submodel = svm_train(&subprob,&param);
			int correct = 0;
			for(j=begin;j<end;j++)
			{
				double v = svm_predict(submodel,prob.x[j]);
				if(v == prob.y[j])
					++correct;
			}
			svm_destroy_model(submodel);
			printf("Accuracy = %g%% (%d/%d)\n", 100.0*correct/(end-begin),correct,(end-begin));
			total_correct += correct;
		}

		free(subprob.x);
		free(subprob.y);
	}		
	if(param.svm_type == EPSILON_SVR || param.svm_type == NU_SVR)
	{
		printf("Cross Validation Mean squared error = %g\n",total_error/prob.l);
		printf("Cross Validation Squared correlation coefficient = %g\n",
			((prob.l*sumvy-sumv*sumy)*(prob.l*sumvy-sumv*sumy))/
			((prob.l*sumvv-sumv*sumv)*(prob.l*sumyy-sumy*sumy))
			);
	}
	else
		printf("Cross Validation Accuracy = %g%%\n",100.0*total_correct/prob.l);
}



//////////////////////////////////////////////////////////

void mexFunction(
    int nlhs, mxArray *plhs[],
    int nrhs, const mxArray *prhs[])
{
    
    int elements, max_index, i, j;
    int m=0,d=0;
    int ifield;
    unsigned int neq=0;
    double valmax=1e50;
    double *xsv, *alpha, *Xtmp, b, epsilon, C;
    int nb_rows, n;

    if (nrhs > 3 || nrhs < 2) {
	    mexErrMsgTxt("Usage: [x,how] "
		         "= svm-train(X,Y,options)");
	    return;
    }
    switch (nrhs) {
    case 2:
	     {
		    if ((!mxIsNumeric(prhs[0]) || mxIsComplex(prhs[0]) 
		     ||  mxIsSparse(prhs[0]))||(!mxIsNumeric(prhs[1]) || mxIsComplex(prhs[1]) 
		     ||  mxIsSparse(prhs[1])))
		      {
			 mexErrMsgTxt("Datasets must be "
				      "a real.");
			 return;
		    }
		   }
    case 3:
	    if (mxGetM(prhs[5]) != 0 || mxGetN(prhs[5]) != 0) {
		    if (!mxIsStruct(prhs[2]))
		    {
			 mexErrMsgTxt("options must be "
				      "a struct.");
			 return;
		    }
	
	    }
	    }
	    
	    //////////////////////////
    
    if (nlhs > 5 || nlhs < 1) {
	    mexErrMsgTxt("Usage: [alpha,b,Xsv,epsilon,C] "
		         "= train-svm(X,Y,options)");
	    return;
    }

    switch (nlhs) {
    case 5:
    case 4:
    case 3:
        m = mxGetM(prhs[0]);
        d = mxGetN(prhs[0]);
        plhs[2]=mxCreateDoubleMatrix(m,d,mxREAL); // for Xsv
        xsv = mxGetPr(plhs[2]);
    case 2:
    case 1:
	    plhs[0] = mxCreateDoubleMatrix(n, 1, mxREAL); // for alpha
	    alpha = mxGetPr(plhs[0]);
	    break;
    }
	
    
    // Read the values from matlab to C
    
    // for the dataset
	prob.l = m;
	elements = m*d;
	Xtmp = mxGetPr(prhs[0]);
	
	prob.y = Malloc(double,m);
	prob.x = Malloc(struct svm_node *,m);
	x_space = Malloc(struct svm_node,elements);

	max_index = d;
	j=0;
	prob.y = mxGetPr(prhs[1]);
	for(i=0;i<m;i++)
	{
	  for(j=0;j<d;j++)
	  {	  
		prob.x[i] = &x_space[j];
		x_space[j].index=j;
		x_space[j].value=Xtmp[i*d+j];
		}	
	}

	// for param
	// default values
	
	
	param.svm_type = mxGetScalar(mxGetField(prhs[2],1,"svm_type"));
	param.kernel_type = mxGetScalar(mxGetField(prhs[2],1,"kernel_type"));
	param.degree = mxGetScalar(mxGetField(prhs[2],1,"degree"));
	param.gamma = mxGetScalar(mxGetFieldByNumber(prhs[2],0,4));	// 1/k
	param.coef0 = mxGetScalar(mxGetFieldByNumber(prhs[2],0,5));
	param.nu = mxGetScalar(mxGetFieldByNumber(prhs[2],0,6));
	param.cache_size = mxGetScalar(mxGetFieldByNumber(prhs[2],0,7));
	param.C = mxGetScalar(mxGetFieldByNumber(prhs[2],0,8));
	param.eps = mxGetScalar(mxGetFieldByNumber(prhs[2],0,9));
	param.p = mxGetScalar(mxGetFieldByNumber(prhs[2],0,10));
	param.shrinking = mxGetScalar(mxGetFieldByNumber(prhs[2],0,11));
	param.nr_weight = mxGetScalar(mxGetFieldByNumber(prhs[2],0,12));
	param.weight_label =NULL;// mxGetScalar(mxGetFieldByNumber(prhs[2],0,13));
	param.weight = NULL;//mxGetScalar(mxGetFieldByNumber(prhs[2],0,14));
	
	
	// put options directly to param
	
	if(param.gamma == 0)
		param.gamma = 1.0/max_index;

		
		
    if(cross_validation)
	{
		do_cross_validation();
	}
	else
	{
		model = svm_train(&prob,&param);
	}

	
	/// build the output for matlab
	
	
	free(prob.y);
	free(prob.x);
	free(x_space);
	
	/// from the model to...
	for(i=0;i<model->l;i++){
	alpha[i] = model->sv_coef[1][i];
	xsv[i] = model->SV[i][j].value;
	}
	plhs[1] = model->rho;
	plhs[3] = &model->param.p;
	plhs[4] = &model->param.C;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
粉嫩高潮美女一区二区三区 | 欧美一区二区三区色| 一二三区精品视频| 久久奇米777| 欧美伊人久久大香线蕉综合69 | 亚洲一区在线视频| 久久五月婷婷丁香社区| 在线观看日韩高清av| 成人激情av网| 99久久精品国产导航| 午夜电影网一区| 尤物视频一区二区| 久久久久久97三级| 久久综合网色—综合色88| 在线看一区二区| 成人aaaa免费全部观看| 成人av一区二区三区| 国产福利一区二区三区在线视频| 天堂蜜桃91精品| 亚洲成人动漫一区| 三级欧美在线一区| 美洲天堂一区二卡三卡四卡视频| 婷婷六月综合亚洲| 久久se精品一区精品二区| 视频一区视频二区中文| 亚洲综合免费观看高清在线观看| 国产精品久久久久久久久晋中| 2023国产精品| 国产精品午夜免费| 亚洲免费伊人电影| 国产一区二区在线视频| 国产欧美精品区一区二区三区| 亚洲国产视频一区| 国产麻豆欧美日韩一区| 午夜精品在线视频一区| 欧美国产日韩a欧美在线观看| 国产视频在线观看一区二区三区 | 中文字幕日本不卡| 综合av第一页| 欧美a级理论片| 成人av集中营| 正在播放亚洲一区| 国产日产欧美精品一区二区三区| 日韩码欧中文字| 肉色丝袜一区二区| 国产成人午夜电影网| 精品视频一区二区不卡| 精品91自产拍在线观看一区| 亚洲色图19p| 国产黄色精品网站| 欧美一区二区视频免费观看| 国产精品国产三级国产aⅴ中文 | 91麻豆swag| 久久亚区不卡日本| 亚洲成人三级小说| 99re热这里只有精品免费视频| 欧美白人最猛性xxxxx69交| 亚洲男女一区二区三区| 国产麻豆成人传媒免费观看| 欧美日本在线视频| 亚洲一区二区中文在线| 不卡一卡二卡三乱码免费网站| 欧美狂野另类xxxxoooo| 亚洲综合色在线| 97久久精品人人澡人人爽| 国产日韩av一区| 久久 天天综合| 日韩手机在线导航| 午夜国产不卡在线观看视频| 一本在线高清不卡dvd| 国产精品国产三级国产aⅴ入口 | 日韩欧美视频在线| 免费日本视频一区| 精品99999| 福利一区在线观看| 国产精品福利电影一区二区三区四区| 精品亚洲aⅴ乱码一区二区三区| 91精品国产福利在线观看| 日韩精品乱码免费| 欧美成人aa大片| 成人午夜视频在线观看| 中文字幕一区av| 欧美日韩午夜在线视频| 蜜臀av一级做a爰片久久| 欧美不卡在线视频| 99精品1区2区| 五月激情综合婷婷| 久久久精品免费观看| 92国产精品观看| 天天综合日日夜夜精品| 久久久亚洲精品一区二区三区| 丰满放荡岳乱妇91ww| 亚洲一区二区三区国产| 欧美mv和日韩mv的网站| 99久久亚洲一区二区三区青草| 性做久久久久久免费观看欧美| 国产亚洲精品aa午夜观看| 成人av网站大全| 免费成人性网站| 一区二区三区中文字幕精品精品| 欧美一区二区三区的| 国产成人激情av| 久久精品99国产精品| 一区2区3区在线看| 国产精品色在线| 日韩三级免费观看| 色伊人久久综合中文字幕| 国产又粗又猛又爽又黄91精品| 伊人婷婷欧美激情| 国产精品久久久久久久久晋中 | 日韩欧美不卡一区| 欧美丝袜丝nylons| 色婷婷综合中文久久一本| 国产一区欧美一区| 久久疯狂做爰流白浆xx| 亚洲夂夂婷婷色拍ww47| 亚洲男女一区二区三区| 亚洲天堂成人网| 成人免费一区二区三区视频| 国产日韩成人精品| 国产三级精品在线| 久久久久久久久久久久电影| 日韩一区二区电影在线| 日韩午夜中文字幕| 日韩精品一区国产麻豆| 日韩欧美中文字幕公布| 日韩美女在线视频| 久久久精品综合| 成人欧美一区二区三区小说 | 久久99精品国产麻豆婷婷洗澡| 日本中文字幕一区| 六月丁香婷婷色狠狠久久| 久久99精品久久久久婷婷| 韩国精品主播一区二区在线观看 | 欧美精品久久一区| 91精品蜜臀在线一区尤物| 日韩久久免费av| 国产精品久久久久三级| 中文字幕一区二区三区在线观看 | 国产精品亚洲第一| 9人人澡人人爽人人精品| 欧美四级电影网| 国产亚洲欧美一级| 一区二区三区免费观看| 久久99国内精品| 91蜜桃免费观看视频| 欧美一区二区三区小说| 久久久国产一区二区三区四区小说| 最近日韩中文字幕| 久久精品国产亚洲5555| 色综合夜色一区| 久久亚洲精品小早川怜子| 亚洲国产另类av| 国产不卡视频在线观看| 日韩一卡二卡三卡四卡| 一区二区三区在线视频免费| 免费黄网站欧美| 欧美日韩卡一卡二| 国产女人aaa级久久久级| 午夜精品视频一区| 色综合一区二区三区| 亚洲成av人片一区二区梦乃| 国产成人免费视频精品含羞草妖精 | hitomi一区二区三区精品| 欧美xxxxxxxxx| 天堂蜜桃91精品| 欧美日本高清视频在线观看| 亚洲欧美区自拍先锋| 成人免费黄色在线| 国产清纯白嫩初高生在线观看91| 麻豆国产一区二区| 欧美v日韩v国产v| 开心九九激情九九欧美日韩精美视频电影 | 日韩精品一区二区在线| 午夜激情一区二区三区| 精品视频免费在线| 一区二区三区av电影 | 国产色产综合色产在线视频| 精品一区二区国语对白| 精品久久人人做人人爽| 麻豆精品视频在线观看免费 | 国产91丝袜在线观看| 国产亚洲制服色| av在线这里只有精品| 一区二区免费在线播放| 欧美特级限制片免费在线观看| 日本午夜一区二区| 久久久久久久久岛国免费| 国产成人欧美日韩在线电影| 国产精品久久久久久久浪潮网站| 一本一道久久a久久精品| 亚洲欧美激情视频在线观看一区二区三区| av爱爱亚洲一区| 丝袜美腿亚洲色图| 国产欧美精品区一区二区三区| 成人av第一页| 久久国产免费看| 伊人开心综合网| 久久久亚洲综合| 欧美日韩一区高清|