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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? wi2dvf.c

?? 貝葉斯學習算法分類文本。基于樸素貝葉斯分類器的文本分類的通用算法
?? C
?? 第 1 頁 / 共 2 頁
字號:
	  /* Add the number of bytes it will take to write the	     WI'th "document vector" */	  seek_current += bow_dv_write_size (wi2dvf->entry[wi].dv);	}    }  /* We have now finished writing the DVF seek information; we should      be at the position we calculated earlier for SEEK_BASE. */  assert (ftell (fp) == seek_base);  /* Now write the actual "document vector" information. */  for (wi = 0; wi < wi2dvf->size; wi++)    {      if (wi2dvf->entry[wi].dv != NULL)	{	  /* Make sure we are at the same place in the file that	     we said we'd be. */	  assert (ftell (fp) == wi2dvf->entry[wi].seek_start);	  bow_dv_write (wi2dvf->entry[wi].dv, fp);	}    }}/* Write WI2DVF to a file, in a machine-independent format.  This   is the format expected by bow_wi2dvf_new_from_file(). */voidbow_wi2dvf_write_data_file (bow_wi2dvf *wi2dvf, const char *filename){  FILE *fp;  if (!(fp = fopen (filename, "w")))    bow_error ("Couldn't open file `%s' for writing.", filename);  bow_wi2dvf_write (wi2dvf, fp);  fclose (fp);}/* Create a `wi2dvf' by reading data from file-pointer FP.  This   doesn't actually read in all the "document vectors"; it only reads   in the DVF information, and lazily loads the actually "document   vectors". */bow_wi2dvf *bow_wi2dvf_new_from_data_fp (FILE *fp){  int size;  bow_wi2dvf *ret;  int wi;  /* Read the number of "word indices" used as keys in the new WI2DVF. */  bow_fread_int (&size, fp);  /* Create a new WI2DVF of that size.*/  ret = bow_wi2dvf_new (size);  ret->fp = fp;  /* Read all the DVF information, but not the actual "document vectors";     We'll do that later in bow_wi2dvf_dv(). */  for (wi = 0; wi < size; wi++)    {      bow_fread_int (&(ret->entry[wi].seek_start), fp);      if (ret->entry[wi].seek_start != -1)	(ret->num_words)++;      ret->entry[wi].dv = NULL;    }  return ret;}/* Create a `wi2dvf' by reading data from a file.  This doesn't actually    read in all the "document vectors"; it only reads in the DVF    information, and lazily loads the actually "document vectors". */bow_wi2dvf *bow_wi2dvf_new_from_data_file (const char *filename){  FILE *fp;  bow_wi2dvf *ret;  if (!(fp = fopen (filename, "r")))    bow_error ("Couldn't open file `%s' for reading.", filename);  ret = bow_wi2dvf_new_from_data_fp (fp);  /* Don't close the FP because it will still be needed for      reading the "document vectors", DV's. */  return ret;}/* Free the memory held by the map WI2DVF. */voidbow_wi2dvf_free (bow_wi2dvf *wi2dvf){  int i;  if (wi2dvf->fp)    fclose (wi2dvf->fp);  for (i = 0; i < wi2dvf->size; i++)    {      if (wi2dvf->entry[i].dv)	bow_dv_free (wi2dvf->entry[i].dv);    }  bow_free (wi2dvf);}/* Return the "document vector" corresponding to "word index" WI.  This   function will read the "document vector" out of the file passed to   bow_wi2dvf_new_from_file() if is hasn't been read already. */bow_dv *bow_wi2dvf_dv (bow_wi2dvf *wi2dvf, int wi){  /* If the word-index is higher than anything we know about,     return NULL.  This could legitimately happen if the query     document has vocabulary that wasn't in the training data. */  if (wi >= wi2dvf->size)    return NULL;  /* If the "document vector" is available (it has already been read     in, it is non-NULL), and it is not hidden (it's SEEK_START is     greater than or equal to -1) then simply return it.  Note that     newly created WI2DVF's that haven't been saved (like those for     VPC_BARREL's) with have non-NULL dv's and SEEK_START's of -1. */  if (wi2dvf->entry[wi].dv && wi2dvf->entry[wi].seek_start >= -1)    {      assert (wi2dvf->entry[wi].dv->idf == wi2dvf->entry[wi].dv->idf);      return wi2dvf->entry[wi].dv;    }  /* If the SEEK_START position of WI'th DVF is -1, then this was an     empty "document vector", so return NULL.  If the SEEK_START     position of the WI'th DVF is less than -1, then this document     vector was hidden by BOW_WI2DVF_HIDE_WI(), so return NULL. */  if (wi2dvf->entry[wi].seek_start <= -1)    return NULL;  /* If we want to read it in, but if this WI2DVF isn't backed by a     data file (for example, it's being built from a directory of     text files), then just return NULL. */  if (wi2dvf->fp == NULL)    return NULL;  /* Read in the document vector. */  assert (wi2dvf->entry[wi].seek_start > 2);  fseek (wi2dvf->fp, wi2dvf->entry[wi].seek_start, SEEK_SET);  wi2dvf->entry[wi].dv = bow_dv_new_from_data_fp (wi2dvf->fp);  /* Check for NaN. */  assert (wi2dvf->entry[wi].dv->idf == wi2dvf->entry[wi].dv->idf);  assert (wi == wi2dvf->size - 1	  || wi2dvf->entry[wi+1].seek_start == -1	  || ftell (wi2dvf->fp) == wi2dvf->entry[wi+1].seek_start);  /* Return what we just read. */  return wi2dvf->entry[wi].dv;}/* Compare two maps, and return 0 if they are equal.  This function was   written for debugging. */intbow_wi2dvf_compare (bow_wi2dvf *map1, bow_wi2dvf *map2){  int max_wi, wi;  bow_dv *dv1, *dv2;  max_wi = bow_num_words ();  /* (map1->size > map2->size) ? map1->size : map2->size; */  /* Step through all the "word indices" in each of the maps. */  for (wi = 0; wi < max_wi; wi++)    {      dv1 = bow_wi2dvf_dv (map1, wi);      dv2 = bow_wi2dvf_dv (map2, wi);      if (dv1 == NULL || dv2 == NULL)	{	  if (!(dv1 == NULL && dv2 == NULL))	    {	      bow_verbosify (bow_progress, "%s: Differ by NULL at wi %d\n",			     __PRETTY_FUNCTION__, wi);	      return 1;	    }	}      else	{	  /* We have two non-NULL "document vectors" */	  int max_dv_i, dv_i;	  max_dv_i = (dv1->length > dv2->length) ? dv1->length : dv2->length;	  for (dv_i = 0; dv_i < max_dv_i; dv_i++)	    {	      if (dv1->entry[dv_i].di != dv2->entry[dv_i].di		  || dv1->entry[dv_i].count != dv2->entry[dv_i].count)		{		  bow_verbosify (bow_progress, 				 "%s: Differ by entry at wi %d\n",				 __PRETTY_FUNCTION__, wi);		  return 2;		}	    }	}    }  return 0;}/* Print statistics about the WI2DVF map to STDOUT. */voidbow_wi2dvf_print_stats (bow_wi2dvf *map){  int wi, wi_max;  bow_dv *dv;  /* stats on "document vector" length */  int dvl_count, dvl_max, dvl_ave, dvl_min;  int dvl_max_count, dvl_min_count;  int dvl_max_wi, dvl_min_wi;  /* stats on "document vector" count */  /* int dvc_max, dvc_ave, dvc_min; */  /* stats on used/unused memory */  int de_used_count, de_unused_count;  wi_max = bow_num_words ();  printf ("%8d libbow's num words\n", wi_max);  printf ("%8d num words in wi2dvf\n", map->num_words);  /* printf ("%8d unique documents\n", bow_num_docnames ()); */  /* Get stats on "document vector" length. */  dv = bow_wi2dvf_dv (map, 0);  dvl_max = dvl_ave = dvl_min = dv->length;  dvl_max_count = dvl_min_count = 1;  dvl_max_wi = dvl_min_wi = 0;  dvl_count = 0;  de_used_count = de_unused_count = 0;  for (wi = 1; wi < wi_max; wi++)    {      dv = bow_wi2dvf_dv (map, wi);      if (dv)	{	  dvl_count++;	  dvl_ave += dv->length;	  if (dv->length > dvl_max)	    {	      dvl_max = dv->length;	      dvl_max_wi = wi;	      dvl_max_count = 1;	    }	  else if (dv->length > dvl_max)	    dvl_max_count++;	  if (dv->length < dvl_min)	    {	      dvl_min = dv->length;	      dvl_min_wi = wi;	      dvl_min_count = 1;	    }	  else if (dv->length > dvl_max)	    dvl_min_count++;	  de_used_count += dv->length;	  de_unused_count += dv->size - dv->length;	  assert (dv->size - dv->length >= 0);	}    }  printf ("%8d minimum document vector length (eg word=`%s', %d others)\n",	  dvl_min, bow_int2word (dvl_min_wi), dvl_min_count);  printf ("%8.1f average document vector length\n",	  ((double)dvl_ave)/dvl_count);  printf ("%8d maximum document vector length (eg word=`%s', %d others)\n",	  dvl_max, bow_int2word (dvl_max_wi), dvl_max_count);  printf ("%8d document vector entries used\n", 	  de_used_count);  printf ("%8d document vector entries allocated but unused\n", 	  de_unused_count);  printf ("%8.1f average unused document vector entries\n", 	  ((double)de_unused_count)/dvl_count);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂va蜜桃一区二区三区漫画版| 国产精品久久久久影院| 麻豆精品视频在线观看视频| 欧美一区二区三区播放老司机 | 日本一区二区三区在线不卡| 懂色av噜噜一区二区三区av| 欧美精彩视频一区二区三区| 色综合天天综合狠狠| 亚洲午夜私人影院| 欧美一区日韩一区| 国产成人综合在线| 亚洲欧洲日韩av| 91精品欧美一区二区三区综合在| 精品一区二区三区不卡 | 日韩一区二区三区在线| 久久99国产精品免费| 欧美激情在线观看视频免费| 欧美亚洲一区二区在线观看| 久久99九九99精品| 国产精品久久777777| 91麻豆精品91久久久久同性| 国产成人av自拍| 亚洲v日本v欧美v久久精品| 欧美精品tushy高清| 激情欧美一区二区三区在线观看| 中文字幕亚洲区| 91精品黄色片免费大全| 国产成人在线观看免费网站| 亚洲午夜久久久久久久久久久 | 欧美老女人第四色| 粉嫩av亚洲一区二区图片| 亚洲网友自拍偷拍| 国产亚洲欧美在线| 欧美人狂配大交3d怪物一区| 国产不卡在线视频| 亚洲国产日韩精品| 国产精品水嫩水嫩| 日韩午夜激情电影| 欧美亚洲愉拍一区二区| 国产成人av一区| 午夜精品一区二区三区电影天堂| 国产日韩av一区| 日韩一级片在线播放| 成人app在线观看| 精彩视频一区二区三区| 亚洲精品videosex极品| 国产免费成人在线视频| 欧美精品丝袜久久久中文字幕| 高清不卡一区二区在线| 三级精品在线观看| 亚洲欧美日韩中文播放| 日本一区二区免费在线观看视频| 日韩美女一区二区三区| 欧美日韩久久一区| 日本黄色一区二区| 91免费在线视频观看| 国产精品综合av一区二区国产馆| 婷婷开心激情综合| 亚洲一二三四在线观看| 亚洲欧洲日产国码二区| 国产精品久久久久一区二区三区共| 欧美mv日韩mv国产网站| 欧美日韩国产精品成人| 欧美主播一区二区三区| 欧美mv日韩mv国产| 日韩欧美的一区| 日韩一区二区电影网| 欧美一二三四在线| 91精品国产品国语在线不卡| 欧美裸体一区二区三区| 欧美三级乱人伦电影| 色婷婷精品久久二区二区蜜臂av| 91最新地址在线播放| 91丨九色丨蝌蚪丨老版| 97se亚洲国产综合自在线观| 99视频国产精品| 色偷偷88欧美精品久久久| 一本色道久久综合亚洲精品按摩| 99re这里只有精品首页| 在线视频一区二区免费| 欧美日韩免费高清一区色橹橹| 欧美日韩高清在线播放| 欧美一区二区三区视频在线观看| 91精品国产综合久久精品麻豆 | 国产亚洲一区二区三区在线观看| 久久青草欧美一区二区三区| 欧美激情艳妇裸体舞| 国产精品国产三级国产有无不卡| 亚洲天堂福利av| 一区二区三区国产| 日韩av在线发布| 国产一区二区电影| 成人看片黄a免费看在线| av高清不卡在线| 欧美性极品少妇| 欧美一区二区女人| 国产欧美视频一区二区三区| 亚洲日本va午夜在线影院| 亚洲www啪成人一区二区麻豆| 久久精品国产在热久久| 成人av免费观看| 欧美乱妇23p| 久久蜜桃香蕉精品一区二区三区| 中文字幕一区二区5566日韩| 亚洲成人自拍网| 国产精品一线二线三线| 91日韩精品一区| 91精品国产一区二区| www久久精品| 亚洲美女区一区| 喷水一区二区三区| 9色porny自拍视频一区二区| 欧美日韩国产首页在线观看| 久久青草欧美一区二区三区| 夜夜精品浪潮av一区二区三区| 丝袜a∨在线一区二区三区不卡| 国产精品一区二区在线播放| 日本乱码高清不卡字幕| 欧美tk—视频vk| 亚洲一区二区三区四区中文字幕| 国产麻豆成人精品| 欧美男男青年gay1069videost | 欧美不卡一区二区三区四区| 国产精品久久久久久户外露出 | 国产精品国产精品国产专区不片| 丝袜亚洲另类欧美| 91社区在线播放| 日韩欧美成人激情| 夜夜精品视频一区二区| 成人免费观看av| 精品免费国产二区三区| 亚洲一区二区三区四区的| 成人理论电影网| 精品美女在线播放| 午夜欧美2019年伦理| 成人免费看视频| 久久久综合视频| 麻豆成人av在线| 欧美视频一区在线| 国产精品福利一区二区三区| 国产一区视频导航| 欧美一级片在线看| 亚洲大片在线观看| 色美美综合视频| 中文字幕亚洲欧美在线不卡| 国产伦精品一区二区三区免费迷 | 成人免费观看视频| 久久亚洲私人国产精品va媚药| 午夜久久电影网| 欧美日韩一区二区电影| 亚洲免费电影在线| 成人av在线网站| 国产精品午夜电影| 成人精品亚洲人成在线| 国产偷国产偷亚洲高清人白洁| 免费成人av资源网| 日韩免费视频线观看| 免费成人在线观看| 日韩欧美国产综合| 久久精品国产**网站演员| 欧美一级艳片视频免费观看| 奇米888四色在线精品| 91精品国产高清一区二区三区蜜臀| 午夜私人影院久久久久| 欧美性一区二区| 亚洲国产精品麻豆| 欧美日韩一区在线| 亚洲成人资源在线| 欧美一区中文字幕| 免费成人小视频| 久久久久综合网| 国产jizzjizz一区二区| 日本一区二区综合亚洲| 成人激情电影免费在线观看| 中文字幕在线播放不卡一区| caoporn国产一区二区| 亚洲人成网站影音先锋播放| 91麻豆自制传媒国产之光| 一区二区理论电影在线观看| 欧美日韩不卡一区| 久久国内精品视频| 久久久久高清精品| 91亚洲资源网| 亚洲一区二区三区四区在线免费观看| 欧美天堂亚洲电影院在线播放| 三级欧美韩日大片在线看| wwww国产精品欧美| www.欧美亚洲| 亚洲成人av中文| 久久午夜国产精品| 波多野结衣91| 亚洲一区在线观看视频| 日韩视频免费观看高清完整版 | 色偷偷久久一区二区三区| 午夜精品福利一区二区三区av | 亚洲一级片在线观看| 日韩一级视频免费观看在线| 成人短视频下载| 五月天激情综合网| 国产日韩欧美亚洲|