sklearn特徵抽取----01字典類型特徵提取(DictVectorizer)

作用

把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))

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章