机器学习框架sklearn之特征提取
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。(1)什么是特征工程特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。意义:会直接影响机器学习的效果(2)特征工程的位置与数据处理的比较sklearn:用来做特征工程(对于特征的处理提供了强大的接口)pandas:数据清洗、数据处理(一个数据读取非常方便以及基本的处理格式的工具)
特征工程介绍
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。
(1)什么是特征工程
特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。
意义:会直接影响机器学习的效果
(2)特征工程的位置与数据处理的比较
sklearn:用来做特征工程(对于特征的处理提供了强大的接口)
pandas:数据清洗、数据处理(一个数据读取非常方便以及基本的处理格式的工具)
特征工程包括内容:
- 特征抽取/提取
- 特征预处理
- 特征降维
特征提取
(1)将任意数据(如文本或图像)转换为可用于机器学习的数字特征
注:特征值是为了计算机更好的去理解数据
- 字典特征提取(特征离散化)
- 文本特征提取
- 图像特征提取
(2)特征提取API
sklearn.feature_extraction
①字典特征提取
作用:对字典数据进行特征值化
sklearn.feature_extraction.DictVectorizer(sparse=True,...)
-
DictVectorizer.fit_transform(X)
X:字典或者包含字典的迭代器
返回值:返回sparse矩阵
-
DictVectorizer.inverse_transform(X)
X:array数组或者sparse矩阵
返回值:转换之前数据格式
-
DictVectorizer.get_feature_names() 返回特征名称
使用:
from sklearn.feature_extraction import DictVectorizer
def dict_demo():
# 字典特征提取
data=[{'city':'北京','temperature':100},{'city':'上海','temperature':60},{'city':'深圳','temperature':30}]
#1、实例化一个转换器 sparse=False返回二维数组,sparse=Ture返回sparse矩阵(稀疏矩阵)
#稀疏矩阵 将非零值按位置表示出来
transfer=DictVectorizer(sparse=False)
#2、调用fit_transform()
result=transfer.fit_transform(data)
print("result:\n",result)
return None
注:对于特征当中存在的类别信息会做one-hot编码处理
②文本特征提取
文本特征提取内容较多,放在下一篇博文中详细说明:
机器学习框架sklearn之文本特征提取
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)