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


Python pyspark Statistics.chiSqTest用法及代码示例


本文简要介绍 pyspark.mllib.stat.Statistics.chiSqTest 的用法。

用法:

static chiSqTest(observed, expected=None)

如果 observed 是向量,则根据预期分布或均匀分布(默认情况)对观测数据进行皮尔逊卡方拟合优度检验,每个类别的预期频率为 1 / len(observed)

如果observed是矩阵,对输入的列联矩阵进行皮尔逊独立性检验,该矩阵不能包含负项或总和为0的列或行。

如果 observed 是 LabeledPoint 的 RDD,则针对输入 RDD 中的标签对每个特征进行 Pearson 独立性测试。对于每个特征,(特征,标签)对被转换为计算卡方统计量的列联矩阵。所有标签和特征值必须是分类的。

参数

observed pyspark.mllib.linalg.Vector pyspark.mllib.linalg.Matrix

它可以是包含观察到的分类计数/相对频率的向量,或列联矩阵(包含计数或相对频率),或包含具有分类特征的标记数据集的LabeledPoint RDD。实值特征将被视为每个不同值的分类特征。

expectedpyspark.mllib.linalg.Vector

包含预期分类计数/相对频率的向量。如果 expected 总和与 observed 总和不同,则重新调整 expected

返回

pyspark.mllib.stat.ChiSqTestResult

包含检验统计量、自由度、p 值、使用的方法和原假设的对象。

注意

observed 不能包含负值

例子

>>> from pyspark.mllib.linalg import Vectors, Matrices
>>> observed = Vectors.dense([4, 6, 5])
>>> pearson = Statistics.chiSqTest(observed)
>>> print(pearson.statistic)
0.4
>>> pearson.degreesOfFreedom
2
>>> print(round(pearson.pValue, 4))
0.8187
>>> pearson.method
'pearson'
>>> pearson.nullHypothesis
'observed follows the same distribution as expected.'
>>> observed = Vectors.dense([21, 38, 43, 80])
>>> expected = Vectors.dense([3, 5, 7, 20])
>>> pearson = Statistics.chiSqTest(observed, expected)
>>> print(round(pearson.pValue, 4))
0.0027
>>> data = [40.0, 24.0, 29.0, 56.0, 32.0, 42.0, 31.0, 10.0, 0.0, 30.0, 15.0, 12.0]
>>> chi = Statistics.chiSqTest(Matrices.dense(3, 4, data))
>>> print(round(chi.statistic, 4))
21.9958
>>> data = [LabeledPoint(0.0, Vectors.dense([0.5, 10.0])),
...         LabeledPoint(0.0, Vectors.dense([1.5, 20.0])),
...         LabeledPoint(1.0, Vectors.dense([1.5, 30.0])),
...         LabeledPoint(0.0, Vectors.dense([3.5, 30.0])),
...         LabeledPoint(0.0, Vectors.dense([3.5, 40.0])),
...         LabeledPoint(1.0, Vectors.dense([3.5, 40.0])),]
>>> rdd = sc.parallelize(data, 4)
>>> chi = Statistics.chiSqTest(rdd)
>>> print(chi[0].statistic)
0.75
>>> print(chi[1].statistic)
1.5

相关用法


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