赞
踩
one-hot编码又称独热码,该编码使用n位状态寄存器对n个状态进行编码,而且只有一个比特位为1,其他位全为0。也就是说,每个状态都有其独立的寄存器位和编码表示,且在任意时刻有且仅有一位有效。
优点:使得离散状态的原始数据变得“连续”且有序,便于后续分类器等处理;在一定程度上扩充了特征的取值空间,便于分析计算。
缺点:One-hot编码属于词袋模型,未考虑词与词之间的顺序关系和语义关系(而这两点因素对于文本分类等工作具有重要影响);产生的特征还是离散稀疏的。
借助Python的sklearn库中提供的工具类,可以实现one-hot编码功能。代码演示如下:
from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder()
# X为输入语料
#X = [['Male', 1], ['Female', 3], ['Female', 2]]
# 训练编码
enc.fit(X)
# 生成编码序列
arr = enc.transform([['Female', 1], ['Male', 3]]).toarray()
TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)。
TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
——百度百科
TF为词频,表示单个词条在目标文档中出现的频次,即 t f i j = n i j tf_{ij}=n_{ij} tfij=nij,其中 n i j n_{ij} nij表示文档 d j d_j dj中词 t i t_i ti出现的次数。
但考虑到同一个词条在不同篇幅的文章中出现的次数对TF值的干扰,因此考虑将TF值进行归一化,即将原始词频除以该文档的词条总数作为最终值。其计算公式如下: t f i j = n i j ∑ k n k j tf_{ij}=\frac{n_{ij}}{\sum_kn_{kj}} tfij=
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。