[ML with Sklearn]特征提取与处理

该博客介绍了如何使用sklearn对分类变量进行独热编码,并探讨了词库模型在文本特征向量化中的应用,包括词块化、停用词过滤以及词形还原在特征降维中的作用。
摘要由CSDN通过智能技术生成

①分类变量特征提取

分类变量通常用独热编码(One-of-K or One-Hot Encoding),通过二进制来表示每个自变量特征。

例如,假设city变量有三个值:New York, San Francisco, Chapel Hill。独热编码方式就是用三位二进制数表示city特征,其中每一位代表一个城市。

利用sklearn.feature_extraction.DictVectorizer(dtype=<type ‘numpy.float64’>, separator=’=’,sparse=True, sort=True)类可以用来表示分类特征:

In [1]: from sklearn.feature_extraction import DictVectorizer
   ...: onehot_encoder = DictVectorizer()
   ...: instances = [{'city':'New York'},{'city':'San Francisco'},{'city':'Chap
   ...: el Hill'}]
   ...: onehot_encoder.fit_transform(instances)
   ...:
Out[1]:
<3x3 sparse matrix of type '<class 'numpy.float64'>'
        with 3 stored elements in Compressed Sparse Row format>

In [2]: type(onehot_encoder.fit_transform(instances))
Out[2]: scipy.sparse.csr.csr_matrix

In [3]: print(onehot_encoder.fit_transform(instances))
  (0, 1)        1.0
  (1, 2)        1.0
  (2, 0)        1.0
经过fit_transform函数生成的是一个按行格式压缩矩阵,csr_matrix对象具有两个重要属性:

In [4]: onehot_encoder.fit_transform(instances).data
Out[4]: array([ 1., 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值