<机器学习笔记-03>(scikit-learn 03)特征提取
标签:机器学习,特征提取,feature extraction,scikit-learn,python
摘要:本文为“mastering machine learning with scikit-learn”第三章“特征提取”的读书笔记;主要介绍了从分类变量、文字、图像等研究对象中提取变量特征的方法,重点介绍了独热编码(one-Hot Encoding)、词库模型(Bag-Of-words model)、特征向量降维方法、角点/SIFT/SURF等特征提取方法,以及其Python实现;
知识要点总结
掌握独热编码(One-Hot Encoding)、词库模型、带TF-IDF权重的词库模型,了解小写转化、停用词过滤、词根/词形还原等文字特征向量的降维方法,了解欧式距离的计算,
了解图片提取角点、SIFT/SURF特征的方法;
掌握
sklearn.feature_extraction.DictVectorizer
、sklearn.feature_extraction.text.CountVectorizer
、sklearn.feature_extraction.text.TfidfVectorizer
建模方法用sklearn.metrics.pariwise.euclidean_distances
计算欧拉距离;使用
skimage
和mahotas
库提取SIFT/SURF 特征,以及兴趣点 (边缘edges和角点corners);
基本概念与理论分析
序列化-从研究对象(数值、分类变量、文字、图像)中抽取出变量特征的方法,是机器学习的基础;
独热编码(One-Hot Encoding)常用来提取分类变量,可以通过二进制数来表示每个解释变量,python中可以用
sklearn.feature_extraction.DictVectorizer
来实现;词库模型(Bag-of-words model)常用来提取文字特征,将将文字转化为可以量化的特征向量;
将文档仅仅看成是词的组合,忽略词序、语法、词语组合、词语位置;
可以看成是独热编码的扩展,为每个单词设置一个特征值;
依据:相似单词的文章意思差不多;可以实现有效的编码方式实现文档分档和检索;
文字的单词构成词汇表(vocabulary),构成特征向量的元素数量成为维度(dimension),用词典(dictionary)表示词汇表与特征向量索引的对应关系;