1.使用单一变量法用于特征选择
点一变量法的定义:
有一定统计学基础的同学可能了解,在统计学中,我们会分析在样本特征和目标之间是否会有明显的相关性。在进行统计分析的过程中,我们会选择那些置信度最高的样本特征来进行分析。当然这只适用于样本特征之间没有明显关联的情况,也就是大家常说的单一变量法(univariate)。
举个例子,在市场营销中,玩具厂商更关注目标人群的年龄,不同年龄段的儿童对于玩具的需求是不相同的,所以厂商更倾向于根据年龄来细分市场,并且进行产品设计。而小额贷公司更关心客户的偿债能力,因此会将目标客户的收入情况作为更重要的特征。在这种情况下,有些不是那么重要的特征就会被剔除。这种方法的优点是计算量较小,而且不需要建模,只用基本的方差分析就可以实现了。
在scikit-learn中,有若干种方法可以进行特征选择,其中最简单的两种是SelectPercentile和SelectKBest,其中SelectPercentile是自动选择原始特征的百分比,例如原石特征的特征数是200个,那么SelectPercentile的pecentile参数设置为50,就会选择100个原石特征中的50%,即100个,而SelectKBest是自动选择K个最重要的特征。
下面我们用一个非常刺激的数据集来做个试验。说这个数据集刺激,是因为它是来自中国股市。我们用证券交易软件导出了当日全部A股股票的交易数据,保存成为了一个csv文件,并且去掉了无效数据,具体获取方式如下:
中国股票市场的股价涨幅数据集收取
首先,需要一个股票交易软件,如果你在某个整卷交易公司开过户,就应