作用
把python中字典數據(dict)進行特徵值化
類和方法
類
DictVectorizer(sparse=True)
默認爲True,返回一個sparse矩陣
False,不轉換爲sparse矩陣
類 DictVectorizer實現了one-hot編碼,將數據的特徵分離,數據被分爲分類屬性和傳統屬性
eg:
data = [
{‘city’: ‘北京’,‘temperature’:100},
{‘city’: ‘上海’,‘temperature’:60},
{‘city’: ‘深圳’,‘temperature’:30},
]
城市是分類屬性,溫度是傳統屬性,經過特徵抽取分類屬性用0或者1表示,傳統屬性不變
方法
方法 | 作用 |
---|---|
fit_transform(Param) | Param:字典或者包含字典的迭代器 返回值:返回sparse矩陣 |
inverse_transform(Param) | Parm:array數組或者sparse矩陣 返回值:轉換之前的數據格式 |
get_feature_names() | 返回值:返回分類類別的名稱 |
transform(data) | 按照之前的標準轉換 |
流程
from sklearn.feature_extraction import DictVectorizer
data = [
{'city': '北京','temperature':100},
{'city': '上海','temperature':60},
{'city': '深圳','temperature':30},
]
def dictdata():
"""
字典數據抽取
:return: None
"""
# 實例化
dic = DictVectorizer(sparse=False)
# 數據轉換
dat = dic.fit_transform(data)
# 數據分類名稱
print(dic.get_feature_names())
print(dat)
# 數據迴轉,把數據轉換爲最先的未處理格式
print(dic.inverse_transform(dat))