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

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

?? svm-scale.c

?? lib-svm軟件包
?? C
字號:
/*
	scale attributes to [lower,upper]
	usage: scale [-l lower] [-u upper] [-y y_lower y_upper] 
		     [-s filename] [-r filename] filename
*/
#include <float.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>

char *line;
int max_line_len = 1024;
double lower=-1.0,upper=1.0,y_lower,y_upper;
int y_scaling = 0;
double *feature_max;
double *feature_min;
double y_max = -DBL_MAX;
double y_min = DBL_MAX;
int max_index;

#define max(x,y) ((x>y)?x:y)
#define min(x,y) ((x<y)?x:y)

void output_target(double value);
void output(int index, double value);
char* readline(FILE *input);

int main(int argc,char **argv)
{
	int i,index;
	FILE *fp;
	char *save_filename = NULL;
	char *restore_filename = NULL;

	for(i=1;i<argc;i++)
	{
		if(argv[i][0] != '-') break;
		++i;
		switch(argv[i-1][1])
		{
			case 'l': lower = atof(argv[i]); break;
			case 'u': upper = atof(argv[i]); break;
			case 'y':
				y_lower = atof(argv[i]);
				++i;
				y_upper = atof(argv[i]);
				y_scaling = 1;
				break;
			case 's': save_filename = argv[i]; break;
			case 'r': restore_filename = argv[i]; break;
			default:
				fprintf(stderr,"unknown option\n");
				exit(1);
		}
	}

	if(!(upper > lower) || (y_scaling && !(y_upper > y_lower)))
	{
		fprintf(stderr,"inconsistent lower/upper specification\n");
		exit(1);
	}
	
	if(argc != i+1) 
	{
		fprintf(stderr,"usage: %s [-l lower] [-u upper] [-y y_lower y_upper]\n",argv[0]);
		fprintf(stderr,"      [-s save_filename] [-r restore_filename] filename\n");
		fprintf(stderr,"(default: lower = -1, upper = 1, no y scaling)\n");
		exit(1);
	}

	fp=fopen(argv[i],"r");
	
	if(fp==NULL)
	{
		fprintf(stderr,"can't open file %s\n", argv[i]);
		exit(1);
	}

	line = (char *) malloc(max_line_len*sizeof(char));

#define SKIP_TARGET\
	while(isspace(*p)) ++p;\
	while(!isspace(*p)) ++p;

#define SKIP_ELEMENT\
	while(*p!=':') ++p;\
	++p;\
	while(isspace(*p)) ++p;\
	while(*p && !isspace(*p)) ++p;
	
	/* assumption: min index of attributes is 1 */
	/* pass 1: find out max index of attributes */
	max_index = 0;
	while(readline(fp)!=NULL)
	{
		char *p=line;

		SKIP_TARGET

		while(sscanf(p,"%d:%*f",&index)==1)
		{
			max_index = max(max_index, index);
			SKIP_ELEMENT
		}		
	}
	
	feature_max = (double *)malloc((max_index+1)* sizeof(double));
	feature_min = (double *)malloc((max_index+1)* sizeof(double));
	
	if(feature_max == NULL || feature_min == NULL)
	{
		fprintf(stderr,"can't allocate enough memory\n");
		exit(1);
	}

	for(i=0;i<=max_index;i++)
	{
		feature_max[i]=-DBL_MAX;
		feature_min[i]=DBL_MAX;
	}

	rewind(fp);

	/* pass 2: find out min/max value */
	while(readline(fp)!=NULL)
	{
		char *p=line;
		int next_index=1;
		double target;
		double value;

		sscanf(p,"%lf",&target);
		y_max = max(y_max,target);
		y_min = min(y_min,target);
		
		SKIP_TARGET

		while(sscanf(p,"%d:%lf",&index,&value)==2)
		{
			for(i=next_index;i<index;i++)
			{
				feature_max[i]=max(feature_max[i],0);
				feature_min[i]=min(feature_min[i],0);
			}
			
			feature_max[index]=max(feature_max[index],value);
			feature_min[index]=min(feature_min[index],value);

			SKIP_ELEMENT
			next_index=index+1;
		}		

		for(i=next_index;i<=max_index;i++)
		{
			feature_max[i]=max(feature_max[i],0);
			feature_min[i]=min(feature_min[i],0);
		}	
	}

	rewind(fp);

	/* pass 2.5: save/restore feature_min/feature_max */
	
	if(restore_filename)
	{
		FILE *fp_restore = fopen(restore_filename,"r");
		int idx, c;
		double fmin, fmax;
		
		if(fp_restore==NULL)
		{
			fprintf(stderr,"can't open file %s\n", restore_filename);
			exit(1);
		}
		if((c = fgetc(fp_restore)) == 'y')
		{
			fscanf(fp_restore, "%lf %lf\n", &y_lower, &y_upper);
			fscanf(fp_restore, "%lf %lf\n", &y_min, &y_max);
			y_scaling = 1;
		}
		else
			ungetc(c, fp_restore);

		if (fgetc(fp_restore) == 'x') {
			fscanf(fp_restore, "%lf %lf\n", &lower, &upper);
			while(fscanf(fp_restore,"%d %lf %lf\n",&idx,&fmin,&fmax)==3)
			{
				if(idx<=max_index)
				{
					feature_min[idx] = fmin;
					feature_max[idx] = fmax;
				}
			}
		}
		fclose(fp_restore);
	}
	
	if(save_filename)
	{
		FILE *fp_save = fopen(save_filename,"w");
		if(fp_save==NULL)
		{
			fprintf(stderr,"can't open file %s\n", save_filename);
			exit(1);
		}
		if(y_scaling)
		{
			fprintf(fp_save, "y\n");
			fprintf(fp_save, "%.16g %.16g\n", y_lower, y_upper);
			fprintf(fp_save, "%.16g %.16g\n", y_min, y_max);
		}
		fprintf(fp_save, "x\n");
		fprintf(fp_save, "%.16g %.16g\n", lower, upper);
		for(i=1;i<=max_index;i++)
		{
			if(feature_min[i]!=feature_max[i])
				fprintf(fp_save,"%d %.16g %.16g\n",i,feature_min[i],feature_max[i]);
		}
		fclose(fp_save);
	}
	
	/* pass 3: scale */
	while(readline(fp)!=NULL)
	{
		char *p=line;
		int next_index=1;
		int index;
		double target;
		double value;
		
		sscanf(p,"%lf",&target);
		output_target(target);

		SKIP_TARGET

		while(sscanf(p,"%d:%lf",&index,&value)==2)
		{
			for(i=next_index;i<index;i++)
				output(i,0);
			
			output(index,value);

			SKIP_ELEMENT
			next_index=index+1;
		}		

		for(i=next_index;i<=max_index;i++)
			output(i,0);

		printf("\n");
	}

	free(line);
	fclose(fp);
	return 0;
}

char* readline(FILE *input)
{
	int len;
	
	if(fgets(line,max_line_len,input) == NULL)
		return NULL;

	while(strrchr(line,'\n') == NULL)
	{
		max_line_len *= 2;
		line = (char *) realloc(line, max_line_len);
		len = strlen(line);
		if(fgets(line+len,max_line_len-len,input) == NULL)
			break;
	}
	return line;
}

void output_target(double value)
{
	if(y_scaling)
	{
		if(value == y_min)
			value = y_lower;
		else if(value == y_max)
			value = y_upper;
		else value = y_lower + (y_upper-y_lower) *
			     (value - y_min)/(y_max-y_min);
	}
	printf("%g ",value);
}

void output(int index, double value)
{
	/* skip single-valued attribute */
	if(feature_max[index] == feature_min[index])
		return;

	if(value == feature_min[index])
		value = lower;
	else if(value == feature_max[index])
		value = upper;
	else
		value = lower + (upper-lower) * 
			(value-feature_min[index])/
			(feature_max[index]-feature_min[index]);

	if(value != 0)
		printf("%d:%g ",index, value);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产丝袜视频| 91丨porny丨中文| 欧美电视剧免费全集观看| 五月开心婷婷久久| 日韩精品一区二区三区视频播放| 成人免费看的视频| 国产日本欧美一区二区| 粉嫩高潮美女一区二区三区| 中文字幕的久久| 色综合久久久久综合99| 亚洲aaa精品| 欧美tickling网站挠脚心| 成人手机电影网| 亚洲激情成人在线| 欧美一区二区三区免费观看视频 | 国内成+人亚洲+欧美+综合在线| 精品va天堂亚洲国产| 成熟亚洲日本毛茸茸凸凹| 日韩黄色小视频| 日韩免费高清av| 国产成人精品aa毛片| 亚洲色图一区二区| 日韩欧美区一区二| 97久久久精品综合88久久| 日韩欧美视频在线| 亚洲色图欧洲色图婷婷| 欧美日韩国产系列| 国产黄色精品视频| 亚洲国产综合人成综合网站| 日韩免费电影网站| 色狠狠一区二区| 经典三级在线一区| 亚洲精品日产精品乱码不卡| 日韩午夜在线影院| 91在线码无精品| 久久精品99久久久| 亚洲黄色尤物视频| 日本一二三四高清不卡| 欧美精品第一页| 岛国一区二区在线观看| 日韩电影在线免费观看| 最好看的中文字幕久久| 精品sm在线观看| 欧美裸体一区二区三区| 99国产精品99久久久久久| 日本不卡的三区四区五区| 亚洲精品精品亚洲| 国产亚洲欧美日韩在线一区| 国产精品中文字幕一区二区三区| 国产精品久久久久7777按摩| 日韩亚洲欧美高清| 欧日韩精品视频| 成人动漫av在线| 美女在线视频一区| 午夜视频一区二区| 亚洲欧美韩国综合色| 精品国产3级a| 91精品啪在线观看国产60岁| 91福利小视频| 99热精品国产| 福利视频网站一区二区三区| 另类专区欧美蜜桃臀第一页| 午夜欧美大尺度福利影院在线看| 亚洲免费在线播放| 日韩一区欧美小说| 亚洲色图视频网| 综合久久久久久| 国产精品对白交换视频 | 国产凹凸在线观看一区二区| 久久 天天综合| 久久爱www久久做| 国产乱子轮精品视频| 久久婷婷成人综合色| 欧美一区二区三区视频免费播放 | 不卡视频免费播放| 无码av免费一区二区三区试看| 亚洲精选免费视频| 亚洲黄色片在线观看| 一区二区三区欧美视频| 一区二区欧美国产| 亚洲激情在线激情| 一区二区三区不卡在线观看| 亚洲精品午夜久久久| 亚洲高清免费在线| 日本视频中文字幕一区二区三区| 午夜视黄欧洲亚洲| 麻豆91精品91久久久的内涵| 久久99国产精品免费网站| 国产精一区二区三区| 成人午夜av影视| 色美美综合视频| 91精品国产福利| 精品国产乱码久久| 国产精品女人毛片| 一区二区三区影院| 五月综合激情网| 免费不卡在线视频| 国产成人福利片| 91美女福利视频| 欧美日韩精品免费观看视频| 日韩一级欧美一级| 中文字幕欧美日本乱码一线二线| 亚洲乱码国产乱码精品精98午夜| 亚洲成a人v欧美综合天堂 | 中文字幕日本乱码精品影院| 亚洲男人电影天堂| 热久久一区二区| 国产成人啪免费观看软件| 91丝袜美女网| 欧美一区二区三区在线视频| 久久久亚洲综合| 亚洲小少妇裸体bbw| 精品一区二区精品| 91麻豆精品视频| 精品区一区二区| 中文字幕一区二区三区在线不卡| 国产在线乱码一区二区三区| 一本久久a久久免费精品不卡| 欧美一区二区三区四区在线观看| 中文字幕国产一区二区| 亚洲国产成人高清精品| 国产成人精品一区二区三区网站观看| 一本一本大道香蕉久在线精品 | 丝袜诱惑亚洲看片| 高清成人免费视频| 欧美一区二区三区性视频| 亚洲人成伊人成综合网小说| 麻豆免费看一区二区三区| 色哟哟在线观看一区二区三区| 日韩免费性生活视频播放| 亚洲激情成人在线| 国产成人鲁色资源国产91色综| 欧美日韩久久一区二区| 国产欧美一区二区精品婷婷| 日韩精品电影一区亚洲| 一本到高清视频免费精品| 亚洲精品一区在线观看| 亚洲午夜一区二区| 91免费版在线看| 久久精品视频一区二区| 免费看黄色91| 欧美日韩日日摸| 亚洲免费视频成人| 成人精品视频一区二区三区尤物| 日韩精品自拍偷拍| 日本亚洲最大的色成网站www| 欧美伊人精品成人久久综合97 | 久久精品欧美日韩精品| 免费观看在线色综合| 在线观看免费亚洲| 亚洲视频香蕉人妖| 成人av在线一区二区| 久久久精品2019中文字幕之3| 久久精品999| 日韩精品一区二区三区四区| 免费成人小视频| 91精品蜜臀在线一区尤物| 亚洲成人激情社区| 欧美日韩亚洲丝袜制服| 亚洲国产你懂的| 在线中文字幕一区二区| 一区二区三区欧美| 在线一区二区三区四区五区| 亚洲精品免费在线| 欧美性受xxxx| 亚洲午夜一二三区视频| 欧美午夜不卡在线观看免费| 亚洲一区二区三区四区五区黄| 91免费视频网| 一区二区三区av电影| 欧美性做爰猛烈叫床潮| 亚洲国产精品久久人人爱| 欧美二区三区91| 麻豆91小视频| 国产亚洲1区2区3区| 成人免费看片app下载| 亚洲日本韩国一区| 欧美日韩综合一区| 免费日韩伦理电影| 日本一区二区三区dvd视频在线 | 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | aa级大片欧美| 亚洲激情男女视频| 欧美一区二区三区不卡| 激情都市一区二区| 国产精品视频观看| 欧美这里有精品| 久久国产生活片100| 国产精品午夜春色av| 在线看国产一区| 麻豆国产一区二区| 国产女人18水真多18精品一级做| 色综合天天综合在线视频| 亚洲r级在线视频| 26uuu亚洲综合色欧美| 成年人午夜久久久| 五月天激情综合网| 国产午夜精品一区二区三区视频| 91麻豆精品在线观看| 美女久久久精品|