数据特征的抽取

方法一:CounterVectorize

统计所有文章中出现的词语(单个字符不统计),重复的只统计一次。

CounterVectorize的使用(文本特征抽取)
  1. 导包
    首先要导入sklearn下的包
from sklearn.feature_extraction.text import CountVectorizer
  1. 实例化CounterVectorizer对象
cv=CountVectorizer()
  1. 文本特征抽取并转化
data=cv.fit_transform(["life is short,i like python","life is too long, i dislike python"])

注:fit_transform方法需要接收列表类型的文本参数

示例代码:

from sklearn.feature_extraction.text import CountVectorizer
#对文本进行特征值化
def countvec():
    #第二步:实例化CountVectorizer对象
    cv=CountVectorizer()
    #第三步:文本特征抽取并转化
    data=cv.fit_transform(["life is short,i like python","life is too long, i dislike python"])
    #获取特征名
    print(cv.get_feature_names())
    #将转换的数据转换为二维数组格式
    print(data.toarray())
if __name__ == "__main__":
    countvec()

运行结果
在这里插入图片描述
注意:单个的字符不统计,如文中的i

方法二:TfidfVectorizer

根据重要性对文中出现的词语进行统计

TfidfVectorizer的使用(文本特征抽取)

1.导包

from sklearn.feature_extraction.text import TfidfVectorizer

2.实例化TfidfVectorizer对象

tf=TfidfVectorizer()
  1. 文本特征抽取并转化
data=tf.fit_transform([c1,c2])

示例代码:

from sklearn.feature_extraction.text import TfidfVectorizer#运用tfid进行统计
import jieba#进行中文分词
#分词
def cut():
    #进行中文汉字分词(将一段话按词用空格隔开)
    con1=jieba.cut("人生苦短,我用py")
    con2=jieba.cut("人生太长,我不用py")
    #将分词结果转换成列表
    contend1=list(con1)
    contend2=list(con2)
    #将列表转换为字符串
    c1=''.join(contend1)
    c2=''.join(contend2)
#根据词的重要性(出现频率*比重)进行分类
def tfidfvec():
    c1,c2=cut()
    tf=TfidfVectorizer()
    data=tf.fit_transform([c1,c2])
    print(tf.get_feature_names())
    print(data.toarray())

运行结果:
在这里插入图片描述

方法三:DictVectorizer

字典数据特征抽取的作用:将字典数据的类别特征分别转换为一列数据特征,数据值不变。
方法步骤与上面的文本特征抽取相同,只要换个类就行。
实例代码

from sklearn.feature_extraction import DictVectorizer
def dictvec():
    #第二步:实例化DictVectorizer对象,令sparse=False,将其转换为矩阵格式
    dict=DictVectorizer(sparse=False)
    #第三步:字典数据特征抽取
    data=dict.fit_transform([{"city":"北京","temperature":100},{"city":"上海","temperature":60},{"city":"深圳","temperature":30}])
    #dict.get_feature_names()获取特征名称
    print(dict.get_feature_names())
    print(data)

if __name__ == "__main__":
    dictvec()#调用字典数据特征抽取函数
    
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值