本文简要介绍
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。