本文简要介绍
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。实值特征将被视为每个不同值的分类特征。
- expected:
pyspark.mllib.linalg.Vector
包含预期分类计数/相对频率的向量。如果
expected
总和与observed
总和不同,则重新调整expected
。
- observed:
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
相关用法
- Python pyspark Statistics.corr用法及代码示例
- Python pyspark Statistics.colStats用法及代码示例
- Python pyspark Statistics.kolmogorovSmirnovTest用法及代码示例
- Python pyspark StandardScaler用法及代码示例
- Python pyspark StopWordsRemover用法及代码示例
- Python pyspark StructType用法及代码示例
- Python pyspark StreamingQueryManager.get用法及代码示例
- Python pyspark StructField用法及代码示例
- Python pyspark StringIndexer用法及代码示例
- Python pyspark StreamingQueryManager.resetTerminated用法及代码示例
- Python pyspark StreamingKMeansModel用法及代码示例
- Python pyspark StructType.fieldNames用法及代码示例
- Python pyspark StreamingQueryManager.active用法及代码示例
- Python pyspark StructType.add用法及代码示例
- Python pyspark StreamingQuery.explain用法及代码示例
- Python pyspark Series.asof用法及代码示例
- Python pyspark Series.to_frame用法及代码示例
- Python pyspark Series.rsub用法及代码示例
- Python pyspark Series.mod用法及代码示例
- Python pyspark Series.str.join用法及代码示例
- Python pyspark Series.str.startswith用法及代码示例
- Python pyspark Series.dt.is_quarter_end用法及代码示例
- Python pyspark Series.dropna用法及代码示例
- Python pyspark Series.sub用法及代码示例
- Python pyspark Series.sum用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.mllib.stat.Statistics.chiSqTest。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。