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