本文簡要介紹
pyspark.ml.feature.ChiSqSelector
的用法。用法:
class pyspark.ml.feature.ChiSqSelector(*, numTopFeatures=50, featuresCol='features', outputCol=None, labelCol='label', selectorType='numTopFeatures', percentile=0.1, fpr=0.05, fdr=0.05, fwe=0.05)
卡方特征選擇,選擇用於預測分類標簽的分類特征。選擇器支持不同的選擇方法:
numTopFeatures
、percentile
、fpr
、fdr
、fwe
。numTopFeatures
根據卡方檢驗選擇固定數量的頂級特征。percentile
類似,但選擇所有特征的一小部分而不是固定數量。fpr
選擇 p 值低於閾值的所有特征,從而控製選擇的誤報率。fdr
使用 Benjamini-Hochberg procedure 選擇錯誤發現率低於閾值的所有特征。fwe
選擇 p 值低於閾值的所有特征。閾值按 1/numFeatures 縮放,從而控製選擇的 family-wise 錯誤率。
默認情況下,選擇方法為
numTopFeatures
,默認頂部特征數設置為 50。自 3.1.0 版起已棄用:使用UnivariateFeatureSelector
2.0.0 版中的新函數。
例子:
>>> from pyspark.ml.linalg import Vectors >>> df = spark.createDataFrame( ... [(Vectors.dense([0.0, 0.0, 18.0, 1.0]), 1.0), ... (Vectors.dense([0.0, 1.0, 12.0, 0.0]), 0.0), ... (Vectors.dense([1.0, 0.0, 15.0, 0.1]), 0.0)], ... ["features", "label"]) >>> selector = ChiSqSelector(numTopFeatures=1, outputCol="selectedFeatures") >>> model = selector.fit(df) >>> model.getFeaturesCol() 'features' >>> model.setFeaturesCol("features") ChiSqSelectorModel... >>> model.transform(df).head().selectedFeatures DenseVector([18.0]) >>> model.selectedFeatures [2] >>> chiSqSelectorPath = temp_path + "/chi-sq-selector" >>> selector.save(chiSqSelectorPath) >>> loadedSelector = ChiSqSelector.load(chiSqSelectorPath) >>> loadedSelector.getNumTopFeatures() == selector.getNumTopFeatures() True >>> modelPath = temp_path + "/chi-sq-selector-model" >>> model.save(modelPath) >>> loadedModel = ChiSqSelectorModel.load(modelPath) >>> loadedModel.selectedFeatures == model.selectedFeatures True >>> loadedModel.transform(df).take(1) == model.transform(df).take(1) True
相關用法
- Python pyspark ChiSquareTest.test用法及代碼示例
- Python pyspark Column.withField用法及代碼示例
- Python pyspark Column.eqNullSafe用法及代碼示例
- Python pyspark Column.desc_nulls_first用法及代碼示例
- Python pyspark Column.rlike用法及代碼示例
- Python pyspark Column.substr用法及代碼示例
- Python pyspark Column.when用法及代碼示例
- Python pyspark Column.isNotNull用法及代碼示例
- Python pyspark CoordinateMatrix.entries用法及代碼示例
- Python pyspark CategoricalIndex.categories用法及代碼示例
- Python pyspark Column.bitwiseAND用法及代碼示例
- Python pyspark CategoricalIndex.rename_categories用法及代碼示例
- Python pyspark Column.isNull用法及代碼示例
- Python pyspark CoordinateMatrix.numCols用法及代碼示例
- Python pyspark CategoricalIndex.map用法及代碼示例
- Python pyspark Column.between用法及代碼示例
- Python pyspark ClusteringEvaluator用法及代碼示例
- Python pyspark CategoricalIndex用法及代碼示例
- Python pyspark CategoricalIndex.as_unordered用法及代碼示例
- Python pyspark Column.contains用法及代碼示例
- Python pyspark CoordinateMatrix.toRowMatrix用法及代碼示例
- Python pyspark Column.cast用法及代碼示例
- Python pyspark Column.like用法及代碼示例
- Python pyspark Column.endswith用法及代碼示例
- Python pyspark CategoricalIndex.remove_categories用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.ml.feature.ChiSqSelector。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。