Spark-特征选择(scala)

本文介绍了如何使用Scala在Spark中进行特征选择,重点是ChiSqSelector。 ChiSqSelector基于卡方独立性检验来选择相关特征,支持numTopFeatures、percentile和fpr三种选择模型。在示例中,展示了使用Scala编写简单特征选择代码的过程。注意,Spark的特征选择API在本地测试时,可能需要调整MLUtils.saveAsLibSVMFile()的调用。
摘要由CSDN通过智能技术生成

spark特征选择,基于scala语言编写

ChiSqSelector
特征选择试图识别用来构建模型的相关特征,它减少了特征空间的大小,既可以提高速度又可以提高统计学习行为的结果。
ChiSqSelector实现了卡方特征选择。它能够操作带有不同种类特征的标签数据。ChiSqSelector利用了卡方独立性检验来决定应该选取哪些特征。它支持三种特征选择模型:
(1)numTopFeatures:根据卡方校验选取前n数量个特征(top features),这类似于用最具有预测能力的特征。
(2)percentile:类似于numTopFeatures,但选择一部分的特征,而不是一个固定的数字。
(3)fpr:选择所有的p值低于阈值非得特征,从而控制选择的假阳性率。
默认情况下,对于numTopFeatures方法,一般设置(top features=50)前50个特征,使用者还可以通过setSelectorType来设置选择模型。

Model Fitting
特征选择模型中的fit方法,可以接受含有特征的RDD[LabeledPoint]数据格式,使用简单的统计学习并返回一个特征选择模型(ChiSqSelectorModel),它能够将输入含有特征的数据转变成含有少量特征空间的数据。也可以应用于向量(Vector)。
值得注意的是,用户也可以手动建立一个ChiSqSelectorModel,需要提供选择的特征索引数组(必须以升序排序)。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值