04_特征工程的定义,本质特征


1.特征抽取:将文本、字符串、字典等数据,转换成数字就是特征抽取。

2.特征抽取API:sklearn.feature_extraction

3.字典特征抽取:对字典数据进行特征值化 , 使用sklearn.feature_extraction.DictVectorizer

 DictVectorizer语法:DictVectorizer.fit_transform(X): X是字典或者包含字典的迭代器;  返回值是sparse矩阵

           DictVectorizer.inverse_transform(X):X是array数组或者sparse矩阵; 返回值是转换之前的数据格式

          DictVectorizer.get_feature_names():返回类别的名称

          DictVectorizer.transform(X):按照原先的标准转换

 字典数据抽取:把字典中一些类别的数据,分别进行转换成特征值

4.one-hot编码:将每个类别(可以看成是数据表中的每一列值)生成一个布尔列,这些列中只有一列可以为每个样本取值1。

   one-hot编码:简而言之,为了避免因为每一列下数字大小造成优先级困扰,利于数据分析和机器学习。

 

 字典特征抽取:[ {"city":"北京","temperature":100}, 

        {"city":"上海","temperature":60},

        {“city”:"深圳","temperature":30}  ]

 



from sklearn.feature_extraction import DictVectorizer

def dictvec():
    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()

结果:# 邻接矩阵
    (0, 1)    1.0
    (0, 3)	100.0
    (1, 0)	1.0
    (1, 3)	60.0
    (2, 2)	1.0
    (2, 3)	30.0

   # 如果sparse=False,得到一个矩阵
    ['city=上海', 'city=北京', 'city=深圳', 'temperature']
    [ [ 0. 1. 0. 100.]
      [ 1. 0. 0. 60.]
      [ 0. 0. 1. 30.] ]

  


注:特征化就是为了计算机更好的理解数据。


单词:feature特征、extraction抽取、Vectorizer矢量器、sparse稀疏、fit适合

 





相关内容

    暂无相关文章

评论关闭