作家
登录

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

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

  • 1.69314718 1. ] 
  • (1, 8) 
  • [[ 0.36388646 0.27674503 0.27674503 0.36388646 0.36388646 0.36388646 
  • 0.36388646 0.42983441]] 
  • 这些分数被归一化为0到1之间的值,编码的文档向量可以直接用于大年夜多半机械进修算法。

    HashingVectorizer——哈希量化文本

    单词频率和权重是很有效的,然则当词汇表变得很大年夜时,以上两种办法就会出现局限性。

    反过来,这将须要巨大年夜的向量来编码文档,并对内存请求很高,并且会减慢算法的速度。

    一种很好的办法是应用单向哈希办法来将单词转化成整数。好处是该办法不须要词汇表,可以选择随便率性长的固定长度向量。缺点是哈希量化是单向的,是以无法将编码转换回单词(对与很多有监督的进修义务来说或许并不重要)。

    HashingVectorizer类实现了这一办法,所以可以应用它对单词进行持续哈希量化,然后按需求词条化和编码文档。

    下面是对单一文档应用HashingVectorizer进行编码的示例。

    要留意这种量化办法不请求调用函数来对练习数据文件进行拟合。相反,在实例化之后,它可以直接用于编码文档。

    1. from sklearn.feature_extraction.text import HashingVectorizer 
    2. # 文本文档列表 
    3. text = ["The quick brown fox jumped over the lazy dog."
    4. # 创建变换函数 
    5. vectorizer = HashingVectorizer(n_features=20) 
    6. # 编码文档 
    7. vector = vectorizer.transform(text) 
    8. # 总结编码文档 
    9. print(vector.shape) 
    10. print(vector.toarray()) 

    运行该示例代码可以模典范文档编码成一个含有20个元素的稀少矩阵。

    编码文档的值对应于正则化的悼?雌数,默认值袈溱-1到1之间,然则可以修改默认设置,然后设置成整数计数值。

    最终,第一个文档被编码成一个8个元素的稀少矩阵,我们可以查看每个单词典最终权重分数,可以看到“the”、“fox”,以及“dog”的值与词汇表中其他单词典值不合。

    1. (1, 20) 
    2. [[ 0. 0. 0. 0. 0. 0.33333333 
    3. 0. -0.33333333 0.33333333 0. 0. 0.33333333 
    4. 0. 0. 0. -0.33333333 0. 0. 
    5. -0.66666667 0. ]] 

    深度浏览

    这一节我们为大年夜家供给了一些关于这篇文┞仿的深度浏览材料。

    天然说话处理

    • 维诽谤科“词袋”(Bag-of-words)模型介绍。
    • 维诽谤科“词条化”(Tokenization)介绍。
    • 维诽谤科“TF-IDF”。

    scikit-learn

    • scikit-learn应用手册4.2节,特点提取。
    • sckit-learn特点提取API。
    • scikit-learn教程:文本数据处理。

    类API

    • CountVectorizer scikit-learn API
    • TfidfVectorizer scikit-learn API
    • TfidfTransformer scikit-learn API
    • HashingVectorizer scikit-learn API

    总结

    因为这些向量含有很多零值,所以我们称之为稀少的。Python在scipy.sparse库中供给了一种处理这类稀少向量的有效办法。

    在这篇教程中,你会进修到若何用scikit-learn来预备用于机械进修的文本数据。

    我们只是在这些例子中接触了外相,我想强调的是这些类有很多设置细节会影响文档词条化的结不雅,值得我们持续商量。

    【编辑推荐】

    1. 安然人寿谢佳标:应用Microsoft R Server对大年夜数据进行机械进修
    2. 资本盘点:有效的主动化数据科学和机械进修软件
    3. 大年夜算法实现到MiniFlow实现,打造机械进修的基本架构平台
    4. 转行AI和机械进修,你最须要控制这五大年夜技能
    5. 如有有一天,你的小孩问:「爸爸,什么是机械进修呀?」
    【义务编辑:庞桂玉 TEL:(010)68476606】

      推荐阅读

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

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


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

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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