了解scikit-learn中的DictVectorizer



我正在探索scikit-learn提供的不同特征提取类。阅读文档我不太明白DictVectorizer可以用来做什么?其他问题浮现在脑海中。例如,DictVectorizer如何用于文本分类?,即此类如何帮助处理标记的文本数据?除了我已经在文档网页上阅读的示例之外,任何人都可以提供一个简短的示例吗?

说你的特征空间是长度宽度高度,你有3个观察结果;即你测量了3个物体的长度、宽度和高度:

       length  width  height
obs.1       1      0       2
obs.2       0      1       1
obs.3       3      2       1

显示这一点的另一种方法是使用字典列表:

[{'height': 1, 'length': 0, 'width': 1},   # obs.2
 {'height': 2, 'length': 1, 'width': 0},   # obs.1
 {'height': 1, 'length': 3, 'width': 2}]   # obs.3

DictVectorizer则相反;即给定字典列表构建顶部框架:

>>> from sklearn.feature_extraction import DictVectorizer
>>> v = DictVectorizer(sparse=False)
>>> d = [{'height': 1, 'length': 0, 'width': 1},
...      {'height': 2, 'length': 1, 'width': 0},
...      {'height': 1, 'length': 3, 'width': 2}]
>>> v.fit_transform(d)
array([[ 1.,  0.,  1.],   # obs.2
       [ 2.,  1.,  0.],   # obs.1
       [ 1.,  3.,  2.]])  # obs.3
   # height, len., width   

最新更新