机器学习-特征工程-字典特征提取

什么是特征工程?

将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的预测准确性,直接影响预测结果。

特征抽取

对文本等特征进行特征值化,为了计算机更好地理解数据

scilit-learn中特征抽取API

sklearn.feature_extraction

  1. 对字典数据进行特征值化
    sklearn.feature_extraction.DictVectorizer

在这里插入图片描述

字典特征提取实例

from sklearn.feature_extraction import DictVectorizer


def dictvec():
    """
    字典数据抽取
    就是把字典中一些类别数据,分别转换成特征,数值类型不会转换
    :return:
    """
    # 实例化
    dict = DictVectorizer(sparse=False) #  就是数据的两种表现方式,加上之后数据编程数组形式

    # 调用fit_transform
    data = dict.fit_transform([{'city':'北京','temperature':100},
                        {'city':'上海','temperature':60},
                        {'city':'深圳','temperature':30}])

    print(dict.get_feature_names()) #  返回特征名称

    print(data)

    return None

if __name__ == '__main__':
    dictvec()

输出结果:
[‘city=上海’, ‘city=北京’, ‘city=深圳’, ‘temperature’]
[[ 0. 1. 0. 100.]
[ 1. 0. 0. 60.]
[ 0. 0. 1. 30.]]
前三列的编码方式为One-hot方式,为了节约内存空间

发布了14 篇原创文章 · 获赞 0 · 访问量 785

猜你喜欢

转载自blog.csdn.net/heixue666/article/details/92011168