在机器学习和数据分析中,了解特征与标签之间的关联性是非常重要的。卡方独立性检验是一种常用的统计方法,用于确定两个变量是否独立。在Spark中,可以使用ML库中的ChiSquareTest类来执行卡方独立性检验。
代码实现
import org.apache.spark.SparkConf
import org.apache.spark.ml.linalg.{Vector, Vectors}
import org.apache.spark.ml.stat.ChiSquareTest
import org.apache.spark.sql.SparkSession
object Spark_Task2 {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setMaster("local[*]")
val spark = SparkSession.builder().appName("Spark_Task2").config(conf).getOrCreate()
val data = Seq(
(0.0, Vectors.dense(20.0)),
(1.0, Vectors.dense(30.0)),
(0.0, Vectors.dense(40.0)),
(0.0, Vectors.dense(50.0)),
(1.0, Vectors.dense(60.0)),
(1.0, Vectors.dense(70.0))
)
import spark.implicits._
val df = data.toDF("label", "age")
val chi = ChiSquareTest.test(df, "age