• sklearn 下 CountVectorizerTfidfVectorizerTfidfTransformer 函数详解


    参考链接:

    https://www.jianshu.com/p/caa4b923117c

    https://blog.csdn.net/papaaa/article/details/78821631

    1.CountVectorizer

    CountVectorizer会将文本中的词语转换为词频矩阵,它通过fit_transform函数计算各个词语出现的次数,通过get_feature_names()可获得所有文本的关键词,通过toarray()可看到词频矩阵的结果。

    代码如下:

    from sklearn.feature_extraction.text import CountVectorizer
    
    texts=["dog cat fish","dog cat cat","fish bird", 'bird']
    cv = CountVectorizer()
    cv_fit=cv.fit_transform(texts)
    
    print("文本的关键词:
    ", cv.get_feature_names())
    print("词频矩阵:
    ", cv_fit.toarray())
    print("cv_fit:
    ", cv_fit)

    返回的结果为稀疏矩阵:

    2.TfidfTransformer

    TfidfTransformer用于统计vectorizer中每个词语的TF-IDF值。代码如下:

    from sklearn.feature_extraction.text import CountVectorizer
    from sklearn.feature_extraction.text import TfidfTransformer
    texts=["dog cat fish","dog cat cat","dog fish", 'dog pig pig bird']
    cv = CountVectorizer()
    cv_fit=cv.fit_transform(texts)
    
    transformer = TfidfTransformer()
    tfidf = transformer.fit_transform(cv_fit)
    print (tfidf.toarray())

    输出结果为:

    3.TfidfTransformer 

    将原始文档的集合转化为tf-idf特性的矩阵,相当于CountVectorizer配合TfidfTransformer使用的效果。
    即TfidfVectorizer类将CountVectorizer和TfidfTransformer类封装在一起。

    代码如下:

    from sklearn.feature_extraction.text import TfidfVectorizer
    texts=["dog cat fish","dog cat cat","dog fish", 'dog pig pig bird']
    tv = TfidfVectorizer(max_features=100,
                         ngram_range=(1, 1),
                         stop_words='english')
    X_description = tv.fit_transform(texts)
    print(X_description.toarray())

    结果为:

    可观察到输出的结果和上面的结果是一毛一样的。

    ngram_range=(1, 1)也可以改为(2,3),这就是2-gram.

    stop_words暂时只支持英文,即”english”

  • 相关阅读:
    VCalendar
    xls和xlsx的区别
    alioss的常见问题
    别再写 shǐ 山代码了。。。
    一款高颜值的 MySQL 管理工具,超好用。。
    Spring Boot Admin 横空出世!
    Redis 官方可视化工具,功能真心强大。。。
    Nginx 从安装到高可用,一篇搞定,99% 的人都收藏了。。
    duobule 转 int 问题
    mysql慢sql查询
  • 原文地址:https://www.cnblogs.com/171207xiaohutu/p/10083545.html
Copyright © 2020-2023  润新知