当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python pyspark ChiSqSelector用法及代码示例

本文简要介绍 pyspark.mllib.feature.ChiSqSelector 的用法。

用法:

class pyspark.mllib.feature.ChiSqSelector(numTopFeatures=50, selectorType='numTopFeatures', percentile=0.1, fpr=0.05, fdr=0.05, fwe=0.05)

创建ChiSquared 特征选择器。选择器支持不同的选择方法: numTopFeaturespercentilefprfdrfwe

  • numTopFeatures 根据卡方检验选择固定数量的顶级特征。

  • percentile 类似,但选择所有特征的一小部分而不是固定数量。

  • fpr 选择 p 值低于阈值的所有特征,从而控制选择的误报率。

  • fdr 使用 Benjamini-Hochberg procedure 选择错误发现率低于阈值的所有特征。

  • fwe 选择 p 值低于阈值的所有特征。阈值按 1/numFeatures 缩放,从而控制选择的 family-wise 错误率。

默认情况下,选择方法为 numTopFeatures ,默认顶部特征数设置为 50。

1.4.0 版中的新函数。

例子

>>> from pyspark.mllib.linalg import SparseVector, DenseVector
>>> from pyspark.mllib.regression import LabeledPoint
>>> data = sc.parallelize([
...     LabeledPoint(0.0, SparseVector(3, {0: 8.0, 1: 7.0})),
...     LabeledPoint(1.0, SparseVector(3, {1: 9.0, 2: 6.0})),
...     LabeledPoint(1.0, [0.0, 9.0, 8.0]),
...     LabeledPoint(2.0, [7.0, 9.0, 5.0]),
...     LabeledPoint(2.0, [8.0, 7.0, 3.0])
... ])
>>> model = ChiSqSelector(numTopFeatures=1).fit(data)
>>> model.transform(SparseVector(3, {1: 9.0, 2: 6.0}))
SparseVector(1, {})
>>> model.transform(DenseVector([7.0, 9.0, 5.0]))
DenseVector([7.0])
>>> model = ChiSqSelector(selectorType="fpr", fpr=0.2).fit(data)
>>> model.transform(SparseVector(3, {1: 9.0, 2: 6.0}))
SparseVector(1, {})
>>> model.transform(DenseVector([7.0, 9.0, 5.0]))
DenseVector([7.0])
>>> model = ChiSqSelector(selectorType="percentile", percentile=0.34).fit(data)
>>> model.transform(DenseVector([7.0, 9.0, 5.0]))
DenseVector([7.0])

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.mllib.feature.ChiSqSelector。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。