字典&文本特征提取,jieba库

目录

特征提取

字典特征提取 

示例:

文本特征提取

示例1(不含中文的语句)

 示例2(包含中文的语句)

 jieba分词示例

文本特征抽取 TfidfVectorizer


特征提取

将任意数据(如文本或图像)转换为可用于机器学习的数字特征

注:特征值化是为了计算机更好的去理解数据

  • 字典特征提取(特征离散化)
  • 文本特征提取
  • 图像特征提取(涉及深度学习)

特征提取API

sklearn.feature_extraction

字典特征提取 

sklearn.feature_extraction.DictVectorizer(sparse=True,...)

  •  DictVectorizer.fit_transform(X) X :字典或者包含字典的迭代器        返回值:返回sparse矩阵
  • DictVectorizer.inverse_transform(X)  X:array数组或者sparse矩阵   返回值:转换之前的数据格式
  • DictVectorizer.get_feature_names()  返回类别名称

示例:

最终的输出为一个sparse矩阵(矩阵中为非零值的位置及其值)

转换器默认返回的是sparse,只返回矩阵中值为非零的位置和数值,当矩阵为稀疏数组的时候,sparse具有很大的优点,可以节省空间。

但此时的数据较少,我们希望获得如下的矩阵,那么有两个方法。

方法一:得到的sparse矩阵调用toarray()即可输出对应的完整矩阵

方法二:只需将实例化转换器的方法中把sparse参数的值设置为False就可以了。

transfer=DictVectorizer(sparse=False)

文本特征提取

返回的矩阵是关于词频的

sklearn.feature_extraction.text.CountVectorizer(stop_words=[])

stop_words=[],是停用词列表,就是说被放进列表里的元素不会被当作特征值进行提取。

注:文本提取的转换器是没有sparse这个参数的,想要把得到的矩阵转为非稀疏矩阵,只有将得到的矩阵调用toarray()方法才可以,不能设置sparse=true

  • CountVectorizer.fit_transform(X) X :文本或者包含文本的可迭代对象        返回值:返回sparse矩阵
  • CountVectorizer.inverse_transform(X)  X:array数组或者sparse矩阵   返回值:转换之前的数据格式
  • CountVectorizer.get_feature_names()  返回值:单词列表

示例1(不含中文的语句)

 

 示例2(包含中文的语句)

可以看到,当数据为中文的时候,一整个句子被当作了一个特征值 

 如果想要将中文句子切分成许多个特征值,那么我们可以采用空格分开

 得到的结果如下,可看见,不支持单个中文字!

  但是在数据量较大的时候,我们总不能手动的用空格一个一个的分开,这个时候我们可以使用python里面的第三方库——jieba,关于jieba,我感觉这个博主的文章介绍得不错,链接在下方

http://t.csdn.cn/8SBoB

 jieba分词示例

运行结果 

 

文本特征抽取 TfidfVectorizer

sklearn.feature_extraction.text.TfidfVectorizer(stop_words=[])

  • TfidfVectorizer.fit_transform(X) X :文本或者包含文本的可迭代对象        返回值:返回词的权重sparse矩阵
  • TfidfVectorizer.inverse_transform(X)  X:array数组或者sparse矩阵   返回值:转换之前的数据格式
  • TfidfVectorizer.get_feature_names()  返回值:单词列表

TFIDF的基本思想:如果某个词或短语在一片文章中出现的概率高,并且在其他文章中很少出现,则认为该词或短语具有很好的类别区分能力,适合用于分类。

TF:Term Frequency,某个词在某篇具体的文章中出现的频率

IDF:nverse Donument Frequency,逆文档频率

        idf=log(总文档的数量/该词出现的文档的数量)

公式:tfidf=tf*idf

TF-IDF的作用:用于评估一个词对于一个语料库中的一份文档的重要程度

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笃岩_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值