特征提取之字典特征提取

字典特征提取

首先要导入一个类:

from sklearn.feature_extraction import DictVectorizer

示例代码如下:

from sklearn.feature_extraction import DictVectorizer

# 字典特征提取
def dict_test():
    data = [
        {"prov": "江西", "temperature": 90},
        {"prov": "新疆", "temperature": 60},
        {"prov": "湖北", "temperature": 30}
    ]
    # 1.实例化一个转换器类
    # 实例化转换器类的时候,sparse默认是True,此时使用该实例对象调用fit_transform产生的是sparse稀疏矩阵(见图),如果实例化转换器类的时候,将sparse参数改为False,此时使用该实例对象调用fit_transform产生的是sparse密集矩阵(见图)
    # transfer =  DictVectorizer(sparse=False)
    transfer =  DictVectorizer()
    # 2.调用fit_transform()
    new_data = transfer.fit_transform(data)
    # 调用实例化对象的get_feature_names()方法可以返回特征值的名称
    print('特征名称:\n',transfer.get_feature_names())
    print('new_data:\n',new_data)
    # toarray()方法能将稀疏矩阵转换成密集矩阵
    print(new_data.toarray())

if __name__=="__main__":
    dict_test()

补充:

- toarray()方法能将稀疏矩阵转换成密集矩阵
- 调用上述代码的实例化对象的get_feature_names()方法可以返回特征值的名称

字典特征提取的返回结果类别是由one-hot编码产生的矩阵!
注意:实例化转换器类的时候,sparse默认是True,此时使用该实例对象调用fit_transform产生的是sparse稀疏矩阵(见图),如果实例化转换器类的时候,将sparse参数改为False,此时使用该实例对象调用fit_transform产生的是sparse密集矩阵(见图)

稀疏矩阵:
稀疏矩阵
稀疏矩阵的好处就是可以将非零值,按位置表示出来,并且节省内存,是的加载效率更高,但是可读性不强
密集矩阵:
密集矩阵
密集矩阵的好处就是可读性较强,但是数据量较大时,会产生较多的零值,占用内存空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

布兹学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值