zoukankan      html  css  js  c++  java
  • 文本tfidf

    文本分类
    tf:词的频率
    idf:逆文档频率

    代码实例:

    # tf idf
    from sklearn.feature_extraction.text import TfidfVectorizer
    import jieba
    def cutword():
        con1 = jieba.cut("在百事进入中国市场之后,将外包装进行了修改,变为了代表性的蓝色,直接和红色外包装的可口可乐进行竞争与")
        con2 = jieba.cut("百事则成立于1902年,由百事可乐的发明人成立,百事可乐的发明人同样是一位药剂师,据说最开始是因为他在配制一种助消化的药剂时无意中发现某种口味深受顾客喜爱,他根据这种口味制作了碳酸饮料,也就成为了后来的百事可乐。")
        con3 = jieba.cut("可口可乐公司成立1886年,由阿萨坎德勒创立,他从发明可口可乐之人约翰彭伯顿手中买下了全部的销售生产权,并开始大范围的在市场进行推广,他创立了可口可乐公司,也被称之为“可口可乐之父”,随后经过了几代人的发展,可口可乐公司也一跃成为了世界著名的饮料生产商。")
        # 转换成列表
        content1 = list(con1)
        content2 = list(con2)
        content3 = list(con3)
        #把列表转换成字符串
        c1 = ' '.join(content1)
        c2 = ' '.join(content2)
        c3 = ' '.join(content3)
        return c1, c2, c3
    
    
    def tfidfvec():
        '''
        中文特征值化
        :return:None
        '''
        c1, c2, c3 =cutword()
        print(c1, c2, c3)
        cv = TfidfVectorizer()
        data = cv.fit_transform([c1, c2, c3])
        print(cv.get_feature_names())  # 获取特征值名称
        # print(data)
        print(data.toarray())  # sparse矩阵转换为数组形式
        return None
    
    
    if __name__ == "__main__":
        tfidfvec()

    运行结果:

  • 相关阅读:
    JS给数字加千位分隔符
    前端防抖与节流实现与应用
    JS实现单向链表、双向链表、循环链表
    单点登录
    AMD、CMD规范
    JS实现全排列
    event loop、进程和线程、任务队列
    BOM属性对象方法
    JS的闭包、高阶函数、柯里化
    for...in、for...of、forEach()有什么区别
  • 原文地址:https://www.cnblogs.com/wydxry/p/10162529.html
Copyright © 2011-2022 走看看