sklearn学习:特征提取
http://cwiki.apachecn.org/pages/viewpage.action?pageId=10814137
该sklearn.feature_extraction
模块可用于从包含文本和图像等格式的数据集中提取机器学习算法支持的格式的特征。
注意: 特征提取与特征选择非常不同:前者包括将任意数据(如文本或图像)转换为可用于机器学习的数值特征。后者是应用于这些功能的机器学习技术。
从类型的字典加载功能
该类DictVectorizer
可用于将表示为标准Python dict
对象列表的功能数组转换为由Scikit-learn估计器使用的NumPy / SciPy表示。
虽然Python的处理速度并不是特别快,但Python dict
具有使用方便,稀疏(缺少功能不需要存储)以及存储功能名称等优点。
DictVectorizer
实现了所谓的一个K或“一热”编码,用于分类(也称为标称,离散)特征。分类特征是“属性值”对,其中该值被限制为不排序的可能性的离散列表(例如,主题标识符,对象类型,标签,名称...)。
在下文中,“城市”是一个分类属性,而“温度”是传统的数字特征:
>>> measurements = [ ... { 'city' : 'Dubai' , 'temperature' : 33. }, ... { 'city' : 'London' , 'temperature' : 12. }, ... { 'city' : 'San Fransisco' , 'temperature' : 18. }, ... ] >>> from sklearn.feature_extraction import DictVectorizer >>> vec = DictVectorizer() >>> vec.fit_transform(measurements).toarray() array([[ 1. , 0. , 0. , 33. ], [ 0. , 1. , 0. , 12. ], [ 0. , 0. , 1. , 18. ]]) >>> vec.get_feature_names() [ 'city=Dubai' , 'city=London' , 'city=San Fransisco' , 'temperature' ] |