在scikit-learn中实现TF-IDF算法

1.首先安装配置环境

                pip install scikit-learn

2.TF-IDF可以实现将 文本数据转换问数值向量表示(这里text数据已经进行了手动分词处理,如传入整段数据,得先进行分词处理。)

def test():
       text = ['好看 闻到味了 爱了爱了','针不戳 好可爱呀 可爱好可爱','好可爱呀 不愧是她 好看']  #某视频弹幕
       vectorizer = TfidfVectorizer() #实例化一个对象

       #对文本分析,统计 tf(词频)值,将能输入文本的td-idf进行计算
       vectorizer.fit(text) #预处理
       vectors = vectorizer.transform(text)  #转换信息

       # vectors = vectorizer.fit_transform(text)   #效果如上,调用此函数即可一步到位



       print(vectors)

3.查看输出结果 

输出结果分析:

左侧数据中前三个用于描述向量的第一个位置  分别对应第6个位置,第4个位置,第3个位置有向量值。

右侧表对应数据

4.修改输出 print(vectors.toarray()),输出每个文档的向量表示

5.修改输出,print(vectorizer.get_feature_names_out()) ,打印特征词列表

文档的向量表示对应特征表中的每个词一一对应。

6.TfidfVectorizer的计算过程:

      (1)首先根据输入的多个文档,构建此表(默认去除单字词)

        (2)统计每篇文档中词表中词出现的次数

        (3)计算每个词平滑后的tf-idf值

        (4)对每个文档的tf-idf向量进行l2标注化 

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值