特征提升之特征抽取----DictVectorizer

原文

说明:DictVectorizer的处理对象是符号化(非数字化)的但是具有一定结构的特征数据,如字典等,将符号转成数字0/1表示

#-*- coding:utf-8 -*-

#学习目标:使用DictVectorizer对使用字典存储的数据进行特征抽取和向量化

#定义一组字典列表,用来表示多个数据样本(每个字典代表一个数据样本)
measurements = [{'city':'Beijing','temperature':33.},{'city':'London','temperature':12.},{'city':'San Fransisco','temperature':18.}]
#从sklearn.feature_extraction导入DictVectorizer
from sklearn.feature_extraction import DictVectorizer
vec = DictVectorizer()
#输出转化后的特征矩阵
print(vec.fit_transform(measurements).toarray())
#输出各个维度的特征含义
print(vec.get_feature_names())
[[ 1.  0.  0. 33.]
 [ 0.  1.  0. 12.]
 [ 0.  0.  1. 18.]]
['city=Beijing', 'city=London', 'city=San Fransisco', 'temperature']

我们不难发现,DictVectorizer对非数字化的处理方式是,借助原特征的名称,组合成新的特征,并采用0/1的方式进行量化,而数值型的特征转化比较方便,一般情况维持原值即可。

接下来进一步验证这个结论,决定在每个原来的字典结构中,再增加一个符号化特征,”country”

#-*- coding:utf-8 -*-

#定义一组字典列表,用来表示多个数据样本(每个字典代表一个数据样本)
measurements = [{'city':'Beijing','country':'CN','temperature':33.},{'city':'London','country':'UK','temperature':12.},{'city':'San Fransisco','country':'USA','temperature':18.}]
#从sklearn.feature_extraction导入DictVectorizer
from sklearn.feature_extraction import DictVectorizer
vec = DictVectorizer()
#输出转化后的特征矩阵
print(vec.fit_transform(measurements).toarray())
#输出各个维度的特征含义
print(vec.get_feature_names())

[[ 1.  0.  0.  1.  0.  0. 33.]
 [ 0.  1.  0.  0.  1.  0. 12.]
 [ 0.  0.  1.  0.  0.  1. 18.]]
['city=Beijing', 'city=London', 'city=San Fransisco', 'country=CN', 'country=UK', 'country=USA', 'temperature']
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 8,043评论 2 9
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,188评论 19 139
  • 今年目标:健康管理(早睡11点之前、饮食、体重) 黑色280 找到一位合作伙伴 今日青蛙:1.阅读。2.投资交易。...
    镇星Aquarius阅读 906评论 0 0
  • 今天在思考APP文案的时候,有一个类目把我困惑了很久很久…… 类目之前的名字是:变得更美 要你美丽:无美丽不珍惜【...
    一凡SU阅读 1,130评论 0 0
  • 今天早上八点二十分,五岁零九个月的乐乐脱落了第一颗小乳牙。勇敢的乐乐没有哭,而是非常开心,知道为什么...
    风轻云淡M阅读 5,946评论 0 0

友情链接更多精彩内容