具体的代码如下面的蓝色代码:
考虑到机器学习时样本集大小的影响,本文分别选择训练集各类别中的100,150,//*200,250,300篇文章机器训练学习,然后用测试集进行测试。
实验结果如表/ref{chap3:table4}所示:
/begin{center}
/begin{longtable}{|p{0.2/linewidth}|p{0.2/linewidth}|p{0.2/linewidth}|p{0.2/linewidth}|}
%lp{0.2in}
/caption{贝叶斯算法在不同训练集下的过滤效果}/label{chap3:table4}
//
/hline /multicolumn{1}{|c|}{/textbf{训练文章数}}
&/multicolumn{1}{c|}{/textbf{召回率(Recall)}}
&/multicolumn{1}{c|}{/textbf{精确率(Precision)}}
&/multicolumn{1}{c|}{/textbf{F值}}
//
/hline
/endfirsthead
100 & 99.5{/%} & 97.55{/%} & 98.52{/%} //
/hline
150 & 99{/%} & 97.54{/%} & 98.26{/%} //
/hline
200 & 99{/%} & 97.06{/%} & 98.02{/%} //
/hline
250 & 99{/%} & 97.06{/%} & 98.02{/%} //
/hline
300 & 99.5{/%} & 97.07{/%} & 98.27{/%} //
/hline
/end{longtable}
/end{center}
从表/ref{chap3:table4}中可以看出,尽管贝叶斯算法相当简单,但是它取得了相当高的准确率,特别是不正常内容的过滤,可见贝叶斯算法在博客文章过滤中取得了不错的效果,召回率最低可达99/%,正确率最低的也高达97.06/%,综合指数F值最低也达到了98.02/%的效果。而且系统整体过滤效果稳定,在训练文章数为100时,系统的整体性能较好。另外,可见不是样本集越大越好,系统性能是随着训练集的变化而稍有改变的。但是从整体上来看,将贝叶斯算法应用到博客文章的过滤上是非常有效的。
效果图: