scikit-learn文本特征提取之TfidfVectorizer
来源:互联网 发布:sql删除rowguid 编辑:程序博客网 时间:2024/05/18 03:55
TF-IDF概述
TF-IDF(term frequency–inverse document frequency)是一种用于资讯检索与文本挖掘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。除了TF-IDF以外,互联网上的搜索引擎还会使用基于连结分析的评级方法,以确定文件在搜寻结果中出现的顺序。
TF
TF: Term Frequency, 用于衡量一个词在一个文件中的出现频率。因为每个文档的长度的差别可以很大,因而一个词在某个文档中出现的次数可能远远大于另一个文档,所以词频通常就是一个词出现的次数除以文档的总长度,相当于是做了一次归一化。
TF(t) = (词t在文档中出现的总次数) / (文档的词总数).
IDF
IDF: 逆向文件频率,用于衡量一个词的重要性。计算词频TF的时候,所有的词语都被当做一样重要的,但是某些词,比如”is”, “of”, “that”很可能出现很多很多次,但是可能根本并不重要,因此我们需要减轻在多个文档中都频繁出现的词的权重。
ID(t) = log_e(总文档数/词t出现的文档数)
TF-IDF
上面两个乘起来,就是TF-IDF啦
TF-IDF = TF*IDF
TfidfVectorizer
sklearn.feature_extraction.text.TfidfVectorizer:可以把一大堆文档转换成TF-IDF特征的矩阵。
Convert a collection of raw documents to a matrix of TF-IDF features.
Equivalent to CountVectorizer followed by TfidfTransformer.
举个栗子
# 初始化TfidfVectorizer vectorizer = TfidfVectorizer(tokenizer=tok,stop_words=stop_words) labels = list() # 特征提取 data = vectorizer.fit_transform(load_data(labels)) # 初始化LogisticRegression模型 log_reg= LogisticRegression(class_weight="balanced") # 训练模型 log_reg.fit(data, numpy.asarray(labels)) # 根据输入预测 log_reg.predict_proba(input)
- scikit-learn文本特征提取之TfidfVectorizer
- 八、用scikit-learn做特征提取
- 【Scikit-Learn 中文文档】特征提取
- 【Scikit-Learn 中文文档】特征提取
- 【Scikit-Learn 中文文档】特征提取
- 【Scikit-Learn 中文文档】三十三:特征提取
- 【Scikit-Learn 中文文档】特征提取
- 【Scikit-Learn 中文文档】特征提取
- 【Scikit-Learn 中文文档】特征提取
- 【Scikit-Learn 中文文档】特征提取
- 【Scikit-Learn 中文文档】特征提取
- 【Scikit-Learn 中文文档】特征提取
- 机器学习精简教程之七——用scikit-learn做特征提取
- scikit-learn:从文本文件中提取特征(tf、idf)
- <机器学习笔记-03><scikit-learn 03>特征提取
- scikit-learn 中文文档-特征提取-用户指南|ApacheCN
- 特征选择--scikit-learn
- scikit-learn:4.2. Feature extraction(特征提取,不是特征选择)
- hive导入CSV格式的数据
- Android拓展系列(12)--使用Gradle发布aar项目到JCenter仓库
- Random类使用心得
- 成为Java高手的25个学习要点
- 给 Android 初学者的 Gradle 知识普及
- scikit-learn文本特征提取之TfidfVectorizer
- Javascript刷新页面的几种方法
- ubuntu安装 nginx 1.10.1
- Java 远程通讯技术及原理分析
- 微信硬件平台设备直连全讲解(5)服务器和设备的交互之设备授权
- 怎么用Beyond Compare中心窗格
- CocoaPods和git一起使用的问题
- 原 spring boot 拦截器中无法注入serivce
- Java开发环境搭建 Path以及Classpath环境变量的配置