• 数据挖掘:基于TF-IDF算法的数据集选取优化


    前言:

      此前在做一个关于文本分类的小调研。本人使用的是基于朴素贝叶斯的文本分类算法,关于朴素贝叶斯的文本分类更多的内容,请参见《数据挖掘:基于朴素贝叶斯分类算法的文本分类实践》.

      不过在做朴素贝叶斯的时候,我遇到一个问题。因为贝叶斯的算法有一个阶段是关于数据训练的,这个用于训练的数据集是一个比较头疼的问题。要怎么选择这些数据集呢?人工手打上去吗?是不是有一点不太实际。下面,我就基于这一点来说明一下这个数据集要怎么取才最好。


    本文链接:http://blog.csdn.net/lemon_tree12138/article/details/49885913 -- Coding-Naga
                                                                     --转载请注明出处


    概述:

      TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。除了TF-IDF以外,因特网上的搜索引擎还会使用基于链接分析的评级方法,以确定文件在搜寻结果中出现的顺序。


    思路分析:

    我的思路:

      我们先撇开TF-IDF这个算法不谈,单问你,如果是你你要怎么来选择这个数据集呢?

      当时我想到方法就是词频优先的方法。具体步骤如下:

      1.选定一个分类(比如:体育);

      2.从网上去抓取分类为选定分类的网页

      3.解析文本,获取文本分词集

      4.把这些文本分词按词频进行排序

      5.选取这个特文本分词集的前N项,把这些排名靠前的就当成选定分类的特征关键词

      对于上面的这个做法有一个比较不好的效果就是,如果一个词在这个选定分类的分词集中大量出现,比如“今天”在体育这个分类的分词集中大量出现,但这个词对于分类却没什么帮助。因为它也有可能在其他分类中大量出现。

    TF-IDF原理:

      虽然上面的做法达不过很好效果,不过如果从乐观人的角度来看,倒也是做对了一半。因为我们只考虑到了这个关键词对某一个分类的影响,却没有想过这个关键词对其他分类的影响,这个是不合理的。

      我们这样试想一下,分类的特征应该具有这样的效果,这个特征字词最具代表这个分类。如何让被选择的字词最具代表性呢?我们要让这个字词在这个分类中出现的频率越大的情况下,在其他分类中出现的频率要越小才好。

      TF-IDF就是结合了这两点对文本的特征进行选取。其中"TF"代表词频(term frequency, TF),"IDF"代表逆向文件频率 (inverse document frequency, IDF).

      TF:是指某一个字词在某一个分类(或是文章)中出现的频率。这里为避免长文章中某一个字词出现的次数自然会比较多的问题,对其进行归一化,即让其除上总个分类(或文章)中的总词数。这里又要做一个小处理,是因为对于长文章中某一个词可能很少出现,或只出现一次的,这样得到的TF值可能就会为0,所以这里我让某一个字词出现的次数去除以分类(文章)中出现次数最多的那个词。

      IDF:是训练文档中所有文件数去除以包含了这个关键字词的文件数(为了让除数不可能为0,这里进行+1处理).

    TF-IDF算法计算公式:

    TF:

      

    IDF:

      

    TF-IDF:

      


      上面的公式已经很清楚地表现了分类特征字词的选取,这里就不用代码来说明了。当然我在我的分类器中使用了这个TF-IDF算法的确是增加了分类的准确性。


    结果展示:

      基于上面的TF-IDF算法,我们对41个分类训练文本中进行训练数据特征选取,结果如下(这里只展示3个分类的特征选取):

    农林牧渔 养殖 养殖场 种植 饲料 饲养 苗木 除草剂 繁育 生猪 养殖网 仔猪 致富 畜牧 繁殖 修剪 农业网 豆粕 养鸡 批发 肉牛 兽药 苗木网 肉鸡 行情 养猪 苗 合作社 市场行情 畜 禽 
    票务查询 车次 预售期 单程 列车时刻表 往返 票价 机票 火车时刻表 时刻表 车票 站站 预订 常平 订票 景点 代售 邮轮 签证 到达 出发 余票 程旅游 售票 卡订单 退票 订 航线 火车站 火车票 飞机票 
    历史 历史网 夏朝 秦朝 历史人物 商朝 元朝 南北朝 春秋战国 清朝 近代 朱元璋 野史 中国历史 朝代 周朝 隋朝 女娲 中国历史网 汉朝 雍正 刘邦 开国 唐代 传统文化 文史 宋朝 明朝 民国 唐朝 年号 


  • 相关阅读:
    bugku-web40
    buuctf-BabyUpload
    webpack4系列之 【1. webpack入门】
    webpack Cannot find module 'webpack/schemas/WebpackOptions.json'
    .gitignore无效解决方案以及git rm和rm的区别
    nginx启动或者重启失败,报错nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory)
    vue-学习系列之vue双向绑定原理
    mac环境下配置nginx
    杂记
    更换淘宝源
  • 原文地址:https://www.cnblogs.com/fengju/p/6336034.html
Copyright © 2020-2023  润新知