ChiSquareTest

pyspark.ml.stat。 ChiSquareTest

进行皮尔逊的独立测试每一个特性对标签。对于每一个功能,(功能,标签)对转换为应急矩阵卡方统计量的计算。所有的标签必须分类和特征值。

零假设是结果的发生是统计独立的。

方法

测试(数据集、featuresCol labelCol[,平])

使用数据集执行皮尔森的独立测试。

方法的文档

静态 测试 ( 数据集:pyspark.sql.dataframe.DataFrame,featuresCol:str,labelCol:str,:bool= )→pyspark.sql.dataframe.DataFrame

使用数据集执行皮尔森的独立测试。

添加可选论点。

参数
数据集 pyspark.sql.DataFrame

DataFrame分类标签和分类功能。实值特性将被视为分类为每一个不同的值。

featuresCol str

的名字列在数据集的特性,类型向量(VectorUDT)。

labelCol str

标签的名字列在数据集,任何数值类型。

bool,可选

如果这是真的,将返回dataframe压平。

返回
pyspark.sql.DataFrame

DataFrame包含每个特性的测试结果对标签。如果平是真的,这个DataFrame将包含一行/特性有以下字段:

  • featureIndex: int

  • pValue:浮动

  • degreesOfFreedom: int

  • 统计数据:浮动

如果平是假的,这DataFrame将包含一行以下字段:

  • pValues:向量

  • degreesOfFreedom:数组(int)

  • 统计:向量

这些字段有一个值/功能。

例子

> > >pyspark.ml.linalg进口向量> > >pyspark.ml.stat进口ChiSquareTest> > >数据集=[[0,向量密集的([0,0,1])),(0,向量密集的([1,0,1])),(1,向量密集的([2,1,1])),(1,向量密集的([3,1,1))))> > >数据集=火花createDataFrame(数据集,(“标签”,“特征”])> > >chiSqResult=ChiSquareTest测试(数据集,“特性”,“标签”)> > >chiSqResult选择(“degreesOfFreedom”)收集()(0]行(degreesOfFreedom = [3 1 0])> > >chiSqResult=ChiSquareTest测试(数据集,“特性”,“标签”,真正的)> > >=chiSqResultorderBy(“featureIndex”)收集()> > >(0]统计4.0