有些数据集,特征之间联系紧密,但是数据挖掘算法中不需要这些冗余信息。主成分分析算法就需要在此被用到。主成分分析算法的目的是找到能用较少信息描述数据集的特征组合。它意在发现没有相关性、能够描述数据集的特征,这样的特征被称为主成分。这也意味着,借助此方法,能通过更少的特征捕获到数据集的大部分信息。
随着数据集复杂程度的提高和类型的变化,现成的特征转换器不满足需求了。那么就需要自己创建一个使用的转换器了。转换器相当于一个转换函数,它接受一种形式的数据,输出另外一种形式。转换器的接口很简单,接收一种特定格式的数据,输出一种格式的数据。
2 特征提取方法的原理
特征提取是数据挖掘任务中的一个关键环节,也是完成广告投放分类的最有效方法。
不是所有的数据集都是用特征表示的,要想对数据集做数据挖掘,我们没有办法用决策树来得到结果。所以,只有先把现实用特征表示出来,才能借助数据挖掘的力量找到每一个数据集中的特征。
既然要对数据集做数据挖掘,进行特征提取,那么我们得利用计算机语言Python[3]进行编程分析。源Q于W优E尔A论S文R网wwW.yOueRw.com 原文+QQ75201,8766
Python,是一个交互式解释器,它拥有丰富的库,能够将C或者C++语言轻松地联结在一起。Python语言是一门受大多数用户欢迎,有着广泛的用途的易读的语言。相对于C++,Java等别的计算机语言而言,Python语言强调空格和编码结构,这使得开发者的代码可以更好的得到重用,而且在执行脚本无需编译Python代码。除此之外,它可以针对语言无法完成功能的函数调用函数库,这就是它强大的库所带来的好处。所以,在这里利用Python语言编程进行特征提取是最好不过的而选择了。
在利用Python语言进行特征提取的过程中,pandas,scikit-learn等具体函数是我们所需要用到的。
Pandas是Python语言中的一个数据分析包,它是用来解决数据分析问题的,pandas里面包含了大量能使我们快速处理数据的方法与函数。Pandas中的数据结构包含Series,Time-Series, DataFrame 和panel。Series是一维数组,与之前学习的C语言中的Numpy中的一维array类似。Series与Array只允许存储相同的数据类型,这样可以更有效地使用内存,提高运算效率,而Time-Series则是指一时间为索引的Series。DataFrame是二维的表格型数据结构,在pandas中我们需要使用DataFrame组织数据,这就是DataFrame的作用。Panel则是三维的数组,可作为DataFrame的容器。
scikit-learn库中有很多机器学习算法。要进行特征提取,我们就需要进行数据加载,scikit-learn在进行数据加载时使用了NumPy中的arrays。加载数据(Data Loading)即scikit-learn中最常用的一部分,也是进行广告投放分类的特征提取算法会用到的一部分。很多机器学习算法中的梯度方法对于数据的缩放和尺度都是比较敏感的,而Python语言中的scikit-learn为此提供了数据归一化(Data Normalization)的方法,更方便特征提取。特征选择(Feature Selection)是由于在解决一个实际问题过程中,选择合适的特征或者构建特征的能力是很重要的,而这便是scikit-learn中现成的算法以方便我们进行特征选择。
除此之外,scikit-learn中包含了大量的计算机语言基础算法。逻辑回归,即将大多数问题归为二元分类问题,它的优点在于可以给出数据所在类别的概率。朴素贝叶斯(Naive Bayes)用于还原样本数据的分布密度,在多类别分类中有着很好的效果。此外,在特征选择中我们还需要用到scikit-learn中的k近邻算法,用于评估特征。scikit-learn中的决策树算法就是用来进行特征提取过程中的分类问题,更适用于广告投放分类问题的解决。上述这些即scikit-learn库的大致流程。 Python广告投放分类问题中的特征提取方法(3):http://www.youerw.com/jisuanji/lunwen_191827.html