Python数据科学:特征工程

本文介绍了特征工程的关键概念,包括如何处理分类特征(如独热编码),文本特征(如词频统计和TF-IDF),以及图像特征的转换。还提及了Pandas中缺失值的填充方法。
摘要由CSDN通过智能技术生成

4.3特征工程

特征工程:找的与问题有关的任何信息,转换为矩阵数值。

常见特征:分类特征,文本特征,图像特征等。

图像特征就是将图像转换为像素编码方式。

缺失值填充:在Pandas中介绍很多缺失值处理方法,比如均值;

实例1:分类特征

def  skLearn8():

    '''

    特征工程

    :return:

    '''

    #分类特征

    data = [

        {'price':1000,'rooms':1,'type':'crowd'},

        {'price':3400,'rooms':3,'type':'standard'},

        {'price':4000,'rooms':5,'type':'wide'}

    ]

    #将type编码

    dict1 = {'crowd':0,'standard':1,'wide':2}

    #这种编码会导致误会,type之间有数量大小关系。

    #scikit learn提供一种编码方式,独热编码

    from sklearn.feature_extraction import  DictVectorizer

    #sparse:是否稀疏矩阵

    dictVec =DictVectorizer(sparse=False,dtype=int)

    Xdata = dictVec.fit_transform(data)

    print(Xdata)

    #查看编码后特征名称

    print(dictVec.get_feature_names_out())

实例2:文本特征,最主要就是将文本中单词统计,统计每个单词在文本中出现次数。

def skLearn9():

    '''

    文本特征

    :return:

    '''

    data_text = ['profit','people','he','she','where','name','people','he','where','she']

    #统计词频

    from sklearn.feature_extraction.text import  CountVectorizer

    countVec = CountVectorizer()

    Xtext = countVec.fit_transform(data_text)

    print(Xtext)

    #对应稀疏矩阵

    Xpd = pd.DataFrame(Xtext.toarray(),columns=countVec.get_feature_names_out())

    print(Xpd)

    #排除常用词在文本中占太大比重,可以使用TF-IDF方法,

    # 将词转换为一个比值,词语的常见程度越高,比值越低

    from sklearn.feature_extraction.text import TfidfVectorizer

    TfidVec =TfidfVectorizer()

    Xtext1 = TfidVec.fit_transform(data_text)

    Xpd1 = pd.DataFrame(Xtext1.toarray(),columns=TfidVec.get_feature_names_out())

    print(Xpd1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

偶是不器

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

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

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

打赏作者

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

抵扣说明:

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

余额充值