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

sklearn特征抽取----01字典类型特征提取(DictVectorizer)_第1张图片

你可能感兴趣的:(#,scikit-learn)