跳转至

11.12.特征提取

Windows 10
Python 3.7.3 @ MSC v.1915 64 bit (AMD64)
Latest build date 2020.05.14
sklearn version:  0.22.1

从字典类型加载特征

DictVectorizer 可以将dict对象转换为 scikit-learn 估计器使用的 NumPy/SciPy 数据形式。类 DictVectorizer 实现了 “one-of-K” 或 “one-hot” 编码,用于类别特征。

DictVectorizerDictVectorizer(dtype=<class 'numpy.float64'>, separator='=', 
                             sparse=True, sort=True)

在下面的示例,city 是一个分类属性,而 temperature 是数值特征:

measurements = [
    {'city': 'Dubai', 'temperature': 33.},
    {'city': 'London', 'temperature': 12.},
    {'city': 'San Francisco', 'temperature': 18.},
]

from sklearn.feature_extraction import DictVectorizer

vec = DictVectorizer()
vec.fit_transform(measurements).toarray()
array([[ 1.,  0.,  0., 33.],
       [ 0.,  1.,  0., 12.],
       [ 0.,  0.,  1., 18.]])
vec.get_feature_names()
['city=Dubai', 'city=London', 'city=San Francisco', 'temperature']