sklearn字典特征抽取——DictVectorize()

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

DictVectorizer的语法:

DictVectorizer(sparse = True,……)
	DictVectorizer.fit_transform(x)
	# X :文本或者包含文本字符串的可迭代对象
	# 返回值:返回sparse矩阵
	DictVectorizer.inverse_transform(X)
	# X:array数组或者sparse矩阵
	# 返回值:转化之前的数据格式
	DictVectorizer.get_feature_names()
	# 返回值:单词列表
	DictVectorizer.transform(x)
	# 按照原先的标准转换

流程:
1.先实例化类DictVevtorizer
2.调取方法fit_transform(x)

例如,对字典:
{'city':'上海','temperature':60} {'city':'北京','temperature':100} {'city':'深圳','temperature':40}
进行特征处理。

代码如下:

from sklearn.feature_extraction import DictVectorizer

def dictvec():
	"""
	字典数据抽取
	:return:None
	"""
	# 实例化
	dict = DictVectorizer()

	#调用 fit_transform
	data = dict.fit_transform([{'city':'上海','temperature':60},
							   {'city':'北京','temperature':100},
						 	   {'city':'深圳','temperature':40}])
	print(data)
	return None

if __name__ == '__main__':
	dictvec()

输出结果如下:
程序运行结果
因为DictVectorizer(sparse = True,……) 参数sparse=True,所以默认返回得是 sparse矩阵(如上图),sparse矩阵可以节约内存,方便读取。
如果要输出数组形式,只用把将实例化时的程序改写为:

dict = DictVectorizer(sparse = False)

则输出结果如图:
输出数组
sparse矩阵就相当于把数组里面有值的地方单独写了出来

调用 get_feature_names方法的程序为:

...
# 此属性包含在实例当中,直接调用就行
print(dict.get_feature_names())

输出结果如下调用属性后结果
从输出结果可以直接看出,数组当中每一列的特征值是什么。

如果有什么错误的地方还希望大家在评论区给我指正,我也是在学习的过程中,一点点进步。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值