機器是無法識别自然語言的,機器隻能識别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()