DictVectorizer的处理对象时符号化(非数字化)的但是具有一定结构的特征数据,如字典等,将符号转成数字0/1表示。
test_dict = [{'name':'zhang','old':23},{'name':'wang','old':15},{'name':'liu','old':33}]
from sklearn.feature_extraction import DictVectorizer
#输出转化后的特征矩阵
print(vec.fit_transform(measurements).toarray())
#输出各个维度的特征含义
print(vec.get_feature_names())
[[ 0. 0. 1. 23.]
[ 0. 1. 0. 15.]
[ 1. 0. 0. 33.]]
['name=liu', 'name=wang', 'name=zhang', 'old']
原本的test_dict数据为:
name | old |
---|---|
zhang | 23 |
wang | 15 |
liu | 33 |
经过DictVectorizer之后数据变成:
zhang | wang | liu | old |
---|---|---|---|
1 | 0 | 0 | 23 |
0 | 1 | 0 | 15 |
0 | 0 | 1 | 33 |
这其实是一种把数据特征中的非数值型特征转换成数值型特征的一种方法。