天天看點

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

機器是無法識别自然語言的,機器隻能識别0和1,經典的案例就是字典特征抽取
  • 0表示不存在
  • 1表示存在

以國漫人物資訊,做示例

原始資料

字典特征抽取後, 終端列印結果

特征抽取後的資料

關于one-hot編碼

機器會将所有樣本中, 出現過的特征統統列舉出來,然後每個樣本挨個比對所有特征,如果存在對應的特征則取1, 不存在則取0
# 字典特征抽取
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()
           

繼續閱讀