作家
登录

如何使用Scikit-learn实现用于机器学习的文本数据准备

作者: 来源: 2017-11-03 14:15:10 阅读 我要评论

'fox': 2, 'over': 5, 'brown': 0, 'quick': 6, 'the': 7, 'lazy': 4, 'jumped': 3} 
  • (1, 8) 
  • <class 'scipy.sparse.csr.csr_matrix'
  • [[1 1 1 1 1 1 1 2]] 
  • 重要的是,该量化办法可以用于含有词汇表中没有出现的单词典文档。这些单词会被忽视掉落,然后在获得的向量结不雅中不会给出出现次数。

    逆文档频率(Inverse Document Frequency):单词在文档中出现的频率越高,IDF值袈浣低。

    1. # 编码其他文档 
    2. text2 = ["the puppy"
    3. vector = vectorizer.transform(text2) 
    4. print(vector.toarray()) 

    运行示例,显示出编码稀少向量的矩阵情势,可以看出词汇表中的单词出现了1次,而没在词汇表中的单词完全被忽视了。

    1. [[0 0 0 0 0 0 0 1]] 

    编码的向量可以直接用于机械进修算法。

    TfidfVectorizer——计算单词权重

    统计单词出现次数是一个很好的切入点,但也是很基本的特点。

    简单的次数统计的一个问题在于,有些悼?船例如“the”会出现很多次,它们的统计数量对于编码向量没有太大年夜意义。

    一个替代办法是统计单词权重,今朝最风行的办法是TF-IDF。这是一个缩锌?船代表“词频-逆文档频率”(Term Frequency–Inverse Document Frequency),代表一个词对于一个文档的重要程度。

    词频(Term Frequency):指的是某一个给定的词语在一篇文档中出现的次数。

    撇开数学不说,TF-IDF给出的是单词权重,会把更有意思的单词标注出来,例如仅在某篇文档中频率很高但不会在所有文档中都频繁出现的词。

    TfidfVectorizer可以词条化文档,进修词汇表以及逆文档频率权重,并且可以编码新文档。或者,如不雅你已经用CountVectorizer进修获得了向量,你可以对它应用Tfidftransformer函数,计算逆文档频率并且开端编码文件。

    同样的,创建(create)、拟合(fit)以及变换(transform)函数的调用都与CountVectorizer雷同。

    下面是一个应用TfidfVectorizer来进修词汇表和3篇小文档的逆文档频率的示例,并对个一一篇文档进行编码。

    1. from sklearn.feature_extraction.text import TfidfVectorizer 
    2. # 文本文档列表 
    3. text = ["The quick brown fox jumped over the lazy dog."
    4. "The dog."
    5. "The fox"
    6. # 创建变换函数 
    7. vectorizer = TfidfVectorizer() 
    8. # 词条化以及创建词汇表 
    9. vectorizer.fit(text) 
    10. # 总结 
    11. print(vectorizer.vocabulary_) 
    12. print(vectorizer.idf_) 
    13. # 编码文档 
    14. vector = vectorizer.transform([text[0]]) 
    15. # 总结编码文档 
    16. print(vector.shape) 
    17. print(vector.toarray()) 

    上例中,我们大年夜文档中学到了含有8个单词典词汇表,在输出向量中,每个单词都分派了一个独一的┞符数索引。

    我们计算了词汇表中每个单词典逆文档频率,给不雅测到的最常出现的单词“the”(索引号为7)分派了最低的分数1.0。

    1. {'fox': 2, 'lazy': 4, 'dog': 1, 'quick': 6, 'the': 7, 'over': 5, 'brown': 0, 'jumped': 3} 
    2. [ 1.69314718 1.28768207 1.28768207 1.69314718 1.69314718 1.69314718 

        推荐阅读

        互联网政务服务平台检查:一些平台搜索功能成摆设

      传递提到,本次本次对31个省(区、市)及新疆临盆扶植兵团的互联网政务办事平台进行了检查,共随机抽查平台201个,个中省级平台30个、地市级平台42个、区县级平台129个。除核查各平台功能是>>>详细阅读


      本文标题:如何使用Scikit-learn实现用于机器学习的文本数据准备

      地址:http://www.17bianji.com/lsqh/38463.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)