机器学习特征工程之英文中文文本的特征提取
作用就是:将一个英文文档中的所有词当做特征,然后用one-hot将特征位置标出来,用toarry将稀疏变换为离散后,会标注每个文本当中每个次出现的次数(文档特征识别无spare参数!字典有)
2.3.3 文本特征提取
单词 作为 特征
句子、短语、单词、字母
特征:特征词
方法1:CountVectorizer
1)统计每个样本特征词出现的个数:
如图1所示该类会自动将单个字母剔除。只留下字母串当作特征值,统计特征值在数据中出现的次数,并按一句一句的输出一维数组,表明按照顺序的每个特征值所存在的个数。
ps:与字典特征提取对比,字典是输入字典型数据以后,比如输入了三个字典(三个样例),每个字典两个特征值(见上一个总结),则最后将三个样本的两个特征值将变成位置变量以及对应值(若特征值等于字符串,则位置对应值1。若为数字,则对应值为数字)。而文本特征提取是将输入文本剔除单个字符,然后对应于每个特征值在每个句子出现几次
2)内置函数如图二:与字典特征提取一样。其中建议将特征名(第三个)打出来,好看每次处理的特征值
图一
图二
代码实现:
from sklearn.feature_extraction.text import CountVectorizer
def count_demo():
"""
文本特征抽取:CountVecotrizer
:return:
"""
data = [
m0_50534398: 请问第35行的while 1:在这里起什么作用?去掉它可以吗?
ctotalk: 努力奋斗