机器学习特征工程之特征抽取
1.数据集
数据集是特征抽取的源数据。常用数据集的结构组成:特征值+目标值。
可用数据集:
kaggle网址:http://www.kaggle.com/datasets
UCI数据集:http://archive.ics.uci.edu/ml
scikit-learn网址:http://scikit-learn.org/stable/datasets/index.html#datasets
数据中对于特征的处理
pandas:一个数据读取非常方便以及基本的处理格式的工具。
sklearn:对于特征的处理提供了强大的接口。
2.数据的特征工程
2.1 特征工程是什么?
特征工程是将原始数据转换为更好的代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的预测准确性。
2.2 特征工程的意义是什么?
特征工程直接影响预测结果。
2.3 特征工程包含哪些步骤?
特征工程包括数据的特征抽取、数据的特征与处理和数据的降维(数据降维就是筛选样本特征,去掉不重要的样本特征)
2.4 scikit-learn库介绍
- python语言的机器学习工具。
- scikit-learn包括许多致命的机器学习算法的实现。
scikit-learn文档完善,容易上手,丰富的API。
2.5 scikit-learn库的安***r>
3数据的特征抽取
特征抽取的目的是对文本进行特征值化(为了让计算机更好地理解数据)。
3.1字典特征抽取
作用:对字典数据进行特征值化将其转换为One-hot编码。
类:sklearn.feature_extraction.DicVectorizer
DicVectorizer语法:
流程:
One-hot编码分析
关于one-hot编码的学习可以参考一下文章:
详细详解One Hot编码-附代码
one hot 编码及数据归一化
3.2文本特征抽取
作用:对文本数据进行特征值化。
类:sklearn.feature_extraction.text.CountVectorizer
CountVectorizer语法
流程
- 统计所有文章中的所有的词,重复的词只看做一次。
- 对每篇文章,在词的列表里面进行统计每个词出现的次数。
单个英文字母或汉字不统计。
英文文章可以直接进行统计,中文的文章要先进行分词才能进行统计。
jieba分词
对中文进行分词处理,使用jieba分词。
特征抽取方式之词语占比
特征抽取方式之TF-IDF
TF-IDF(TfidfVectorizer)是分类机器学习算法的重要依据。