摘要:如标题,与词集词袋模型都是数据预处理中常用的算法,这里展示一下这两种算法的联合应用。我们再回过头来看看的缺陷,其中的第二点和第三点以相反角度来看都有助于我们对词袋模型中特征向量的优化这个需要各位好好理解一下。
如标题,TF-IDF与词集词袋模型都是数据预处理中常用的算法,这里展示一下这两种算法的联合应用。
一. 词集与词袋模型这个算法的主要作用也就是对文本做单词切分,有点从一篇文章里提取关键词这种意思,旨在用向量来描述文本的主要内容,其中包含了词集与词袋两种。
词集模型:单词构成的集合,集合中每个元素只有一个,即词集中的每个单词都只有一个。
词袋模型:如果一个单词在文档中出现不止一次,就统计其出现的次数,词袋在词集的基础上加入了频率这个维度,使统计拥有更好的效果,通常我们在应用中都选用词袋模型。
python代码示例使用xss攻击语句来测试词袋模型的效果
from sklearn.feature_extraction.text import CountVectorizer #词袋模型,这里的min_df取值为3,即该向量在整个payload中至少出现了三次 vec=CountVectorizer(min_df=3,ngram_range=(1,1)) content=[ "alert(1)X", "">
可以看到,我们得到了词袋模型中词汇的tf-idf值,值越高说明该词区分每条语句的效果越好。
但我们做特征工程追求的是泛化能力,即寻找能更好的概括整体文本的特征的词汇,与tf-idf追求的结果恰恰相反,所以我们可以看到像alert、script这种在安全从业者看来明显的攻击特征在上面结果中的权值反而很低。
我们再回过头来看看tf-idf的缺陷,其中的第二点和第三点以相反角度来看都有助于我们对词袋模型中特征向量的优化(这个需要各位好好理解一下)。
那么我们正好可以利用这个特征来判断词袋模型中向量的泛化效果
即:tf-idf值越高其泛化能力越低,也就越不适合作为我们的特征向量。
从上面的结果中我们可以看出来,script、alert这两个向量相比于其它能更好的反映出我们整体攻击语句的特征,符合我们人工判断的结果。而在script和alert两者中alert显然泛化效果又更加的优秀。
两者结合使用,我们就可以自动化的从大文本中提取优质的特征向量,以减少人工干预,大大降低特征工程中的成本。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/40920.html
摘要:词袋模型词袋模型简称,所谓的词袋模型是一种用机器学习算法对文本进行建模时表示文本数据的方法。再进行一些其他的特征工程后,就可以将数据带入机器学习算法进行分类聚类了。总结下词袋模型的三部曲分词,统计修订词特征值与标准化。 词袋模型 词袋模型(Bag of Words,简称BoW),所谓的词袋模型是一种用机器学习算法对文本进行建模时表示文本数据的方法。 词袋模型假设我们不考虑文本中词与词之...
摘要:在自然语言处理词袋模型与向量化中我们讲到在文本挖掘的预处理中,向量化之后一般都伴随着的处理,那么什么是,为什么一般我们要加这一步预处理呢这里就对的原理做一个总结。 TF-IDF 在自然语言处理——词袋模型与向量化中我们讲到在文本挖掘的预处理中,向量化之后一般都伴随着TF-IDF的处理,那么什么是TF-IDF,为什么一般我们要加这一步预处理呢?这里就对TF-IDF的原理做一个总结。 文本...
摘要:全栈数据之门前言自强不息,厚德载物,自由之光,你是我的眼基础,从零开始之门文件操作权限管理软件安装实战经验与,文本处理文本工具的使用家族的使用综合案例数据工程,必备分析文件探索内容探索交差并补其他常用的命令批量操作结语快捷键,之门提高效率光 showImg(https://segmentfault.com/img/bVK0aK?w=350&h=350); 全栈数据之门 前言 自强不息,...
阅读 3459·2021-11-19 09:40
阅读 1475·2021-10-13 09:41
阅读 2636·2021-09-29 09:35
阅读 2685·2021-09-23 11:21
阅读 1668·2021-09-09 11:56
阅读 814·2019-08-30 15:53
阅读 827·2019-08-30 15:52
阅读 587·2019-08-30 12:47