首页 > 编程知识 正文

朴素贝叶斯分类器例题,贝叶斯分类算法思想

时间:2023-05-03 22:29:00 阅读:19655 作者:679

packagecom.vista; importjava.io.BufferedReader; importjava.io.File; importjava.io.FileInputStream; import Java.io.file not found exception; importjava.io.IOException; import Java.io.input streamreader; importjava.util.Properties; importjava.util.logging.Level; importjava.util.logging.Logger; /***培训集管理器*/publicclasstrainingdatamanager

{ privatestring [ ] traningfileclassifications; //训练资料分类集合privateFiletraningTextDir; //培训资料存储目录privatestaticstringdefaultpath=' d :\ trainning set '; publicTrainingDataManager (

{

traningtextdir=new file (默认路径; if (! traningtextdir.is目录(

{ thrownewillegalargumentexception ('培训语料库搜索失败! [ '默认路径' ];

} this.traningfileclassifications=traningtextdir.list (;

}/***返回培训文本类别。 此类别是目录名称

*@return培训文本类别* /公共字符串[ ] gettraningclassifications (

{ return this.traningfileclassifications;

}/***基于训练文本类别返回此类别下的所有训练文本路径(完整路径)

*@paramclassification中给出的分类

*@return指定分类下的所有文件的路径(full path (/public string [ ] getfiles path (stringclassification ) ) )。

{

fileclassdir=new file (traningtextdir.getpath (file.separatorclassification );

String[]ret=classDir.list (; for(inti=0; I

{

ret [ I ]=traningtextdir.getpath (file.separatorclassificationfile.separator ret [ I ];

}返回ret;

}/***返回指定路径的文本文件的内容

*@paramfilePath指定的文档路径

* @返回文本的内容

* @ throws Java.io.file not found exception

* @ throws Java.io.ioexception */publicstaticstringgettext (字符串文件路径) throwsFileNotFoundException,io exception

{

inputstreamreaderisreader=newinputstreamreader (new file inputstream (file path )、' GBK ' );

bufferedreaderreader=newbufferedreader (is reader );

Stringaline;

stringbuilder sb=new stringbuilder (; while((aline=reader.readline ) )!=空)

{

sb.append(aline ' );

}

isReader.close (;

reader.close (; returnsb.toString (;

}/***返回训练文本集中的所有文本数

*@return培训文本集中的所有文本数*/publicintgettrainingfilecount () ) ) ) )。

{互联网=0; for(inti=0; I

{

ret=gettrainingfilecountofclassification (traningfileclassifications [ I ];

}返回ret;

}/***返回集中在给定分类上的培训文本数

*@paramclassification中给出的分类

* @返回训练文本集中在给定分类下的训练文本数*/publicintgettrainingfilecountofclassification (stringclassification ) )

{

fileclassdir=new file (traningtextdir.getpath (file.separatorclassification ); returnclassDir.list ().length;

}/***返回指定分类中包含的关键字/单词培训文本的数量

*@paramclassification中给出的分类

*@paramkey赋予的关键字/单词

*@return指定分类中包含关键字/单词的训练文本数*/publicintgetcountcontainkeyofclassification (stringclassification,Stringkey )

{互联网=0; try{

string [ ]文件路径=getfiles path (class ification; for(intj=0; Jj

{

string text=gettext (文件路径[ j ]; (if(text.contains(key ) ) ) ) ) ) ) ) ) ) ) ) )

{

ret;

}

}

}catch(filenotfoundexceptionex ) )。

{

logger.getlogger (training data manager.class.getname () ).log ) level.severe,null,ex );

}catch(ioexceptionex ) ) )。

{

logger.getlogger (training data manager.class.getname () ).log ) level.severe,null,ex );

}返回ret;

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。