万能的0和1 之 字典特征抽取

2018-04-19 11:02:51 浏览数 (1)

机器是无法识别自然语言的,机器只能识别0和1,经典的案例就是字典特征抽取

  • 0表示不存在
  • 1表示存在

以国漫人物信息,做示例

原始数据

原始数据

字典特征抽取后, 终端打印结果

特征抽取后的数据

关于one-hot编码

机器会将所有样本中, 出现过的特征统统列举出来,然后每个样本挨个比对所有特征,如果存在对应的特征则取1, 不存在则取0

代码语言:javascript复制
# 字典特征抽取
from sklearn.feature_extraction import DictVectorizer

# 字典特征抽取
def dic_f_extra():
    # 人物信息
    shao_jin = [{"name":"袁小棠", "age": 19, "gender":"男"},
              {"name":"小亭子", "age": 19, "gender":"女"},
              {"name":"白衣段云", "age": 22, "gender": "男"},
              {"name":"阿九", "age": 18, "gender":"女"}]

    # 实例化字典特征抽取对象(为了便于观察,不使用sparse格式显示)
    dict_v = DictVectorizer(sparse=False)

    # 填充数值并转换
    data = dict_v.fit_transform(shao_jin)

    # 打印抽取后的,字典特征名称信息
    print(dict_v.get_feature_names())

    print("n","n","n")
    # 打印字典特征数据信息
    print(data)

if __name__ == '__main__':
    dic_f_extra()

0 人点赞