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


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