机器学习之字典特征提取

  使用第三方库sklearn.feature_extraction:

 1 #字典特征提取
 2 from sklearn.feature_extraction import DictVectorizer
 3 #字典特征提取
 4 def dict_demo():
 5     data = [{'city':'北京','temperature':100}, {"city":'上海',"temperature":60}, {"city":'深圳',"temperature":30}]
 6     #1实例化转换器对象(默认sparse=True返回值为稀疏矩阵)
 7     transfer = DictVectorizer(sparse=False)
 8     #2调用函数特征提取fit_transform()
 9     data_new = transfer.fit_transform(data)
10     print("data_new:
",data_new)
11 if __name__ == '__main__':
12     dict_demo()

  结果截图:

  图①:

 

  实例化转换器对象DictVectorizer()时,参数默认为:sparse=True时:

  结果截图:

  图②:

  

  结果图②中的元组代表的是图①中的非0点的位置,当sparse=true时,大大节省了内存(没有存放值为0的点)

  当我们实例化对象时参数sparse若不设置为true,呢么也可以通过data.toarray()函数将图②输出格式变为图①矩阵格式输出。

   

原文地址:https://www.cnblogs.com/liyuchao/p/12532804.html