20190624——字典特征提取 文本特征提取 中文文本特征抽取

本文介绍了特征工程,它是使用专业知识处理数据,以提升机器学习算法效果的过程,会影响机器学习效果。还提及用pandas作数据清洗,sklearn用于特征工程,包括特征提取、字典特征提取、文本特征提取等,如one - hot编码、CountVertorizer方法等,以及中文文本特征提取需借助jieba。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是特征工程

在这里插入图片描述
比赛会有成绩的提交,跟算法与数据清洗都有关系,也就是特征工程

数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已

特征工程是使用专业背景知识技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。
意义:会影响机器学习的效果

pandas用来作数据清洗 数据缺失值处理
sklearn 特征工程


特征提取/抽取

在这里插入图片描述
比如上面这个文章,我想通过这个文章作为训练集,那么应该怎么办呢?
机器学习算法 ——统计方法 —— 数学公式

文本类型转换成数值如何转
类型 转换数值

特征提取
将任意数据(文本或者图像)转换为可用于机器学习的数字特征

在这里插入图片描述
在这里插入图片描述
那么在特征提取,我们就要需要用的sklearn中的这个类featur_extraction

字典特征提取

在这里插入图片描述
vector 数学向量 物理矢量
矩阵 matrix 二维数组
用一维数组来存储向量

在这里插入图片描述
过程,如何将这个文本的样本转换成矩阵的向量集

当特征中类别的时候,公平的表示。类别特征,one-hot编码

def dict_demo():
    """
    字典特征抽取
    :return:
    """
    data = [{'city':'北京','temperature':100},{'city':'上海','temperature':60}, {'city':'深圳','temperature':30}]
    #1) 实例化一个转换器类
    transfer = DictVectorizer()
    #2)调用fit_transform()
    data_new = transfer.fit_transform(data)
    print(data_new)
    return None

在这里插入图片描述
fit_transfer()函数返回的是一个sparse矩阵
稀疏矩阵

如果我们想看到像这样的形式
在这里插入图片描述
要在实例化的时候添加这个sparse参数

要在参数调用的时候,添加sparse==False

在这里插入图片描述

稀疏矩阵:将非0值表示出来

在这里插入图片描述
表示1.0在第0行 第一列 节省内存 提高加载效率
以此类推

在这里插入图片描述
one-hot编码

在这里插入图片描述

应用场景:
1)数据集中类别特征比较多
将数据集的特征转换成字典类型
DictVectorizer转换
2)本身达到的字典类型


文本特征提取 单词作为特征 其实有句子,短语,单词,字母 特征:特征词

方法1:CountVertorizer
在这里插入图片描述

在这里插入图片描述
这个文本特征提取,不像字典特征提取一样。不可以在实例化的时候,生成一个sparse=False
这样是不可以,所以要给他转换成一个数组的形式,这样就会变成这样的一个二维数组

这个文本抽取:就是统计这个样本出现的次数 统计每个样本特征词出现的个数

在这里插入图片描述
当我们使用中文进行实验,发现这个方法把两个句子作为特征。这样不太好

stop_words 停用的
对于分类没有用的时候,以列表的形式
停用词表

中文文本的特征提取

jieba这个附件的下载

在这里插入图片描述
在这里插入图片描述

利用jieba.cut的结果是返回一个生成器。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值