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


Python pyspark ChiSquareTest.test用法及代码示例


本文简要介绍 pyspark.ml.stat.ChiSquareTest.test 的用法。

用法:

static test(dataset, featuresCol, labelCol, flatten=False)

使用数据集执行 Pearson 独立性测试。

2.2.0 版中的新函数。

在 3.1.0 版中更改:添加了可选flatten争论。

参数

datasetDataFrame

DataFrame 分类标签和分类特征。实值特征将被视为每个不同值的分类特征。

featuresColstr

数据集中特征列的名称,类型为Vector (VectorUDT)。

labelColstr

数据集中标签列的名称,任何数字类型。

flatten布尔型,可选

如果为真,则展平返回的数据帧。

返回

DataFrame

DataFrame 包含针对标签的每个函数的测试结果。如果 flatten 为 True,则此 DataFrame 将包含每个要素一行以及以下字段:

  • featureIndex: int

  • pValue: float

  • degreesOfFreedom: int

  • statistic: float

如果 flatten 为 False,则此DataFrame 将包含具有以下字段的单行:

  • pValues: Vector

  • degreesOfFreedom: Array[int]

  • statistics: Vector

这些字段中的每一个都具有每个特征的一个值。

例子

>>> from pyspark.ml.linalg import Vectors
>>> from pyspark.ml.stat import ChiSquareTest
>>> dataset = [[0, Vectors.dense([0, 0, 1])],
...            [0, Vectors.dense([1, 0, 1])],
...            [1, Vectors.dense([2, 1, 1])],
...            [1, Vectors.dense([3, 1, 1])]]
>>> dataset = spark.createDataFrame(dataset, ["label", "features"])
>>> chiSqResult = ChiSquareTest.test(dataset, 'features', 'label')
>>> chiSqResult.select("degreesOfFreedom").collect()[0]
Row(degreesOfFreedom=[3, 1, 0])
>>> chiSqResult = ChiSquareTest.test(dataset, 'features', 'label', True)
>>> row = chiSqResult.orderBy("featureIndex").collect()
>>> row[0].statistic
4.0

相关用法


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