當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。