ml之相关关系

皮尔森相关性
  1. 样本相关与它代表的总体相关会存在一些误差。即使总体之间不存在相关,任然可能会获得一个非零相关,对于小样本来说尤其如此


  2. 当样本只有两个数据时,两点之间会形成一条完全的直线,样本的相关一定是r=+1.00或r=-1.00。所以只有当数据包含两个以上的点的时候,样本的相关才能自由地变化
  3. 当相关系数越接近1或-1说明,线性相关越强;当相关系数接近0,说明没有相关关系;其他情况则说明有相关关系,但不是线性相关
斯皮尔曼
  1. 把数据转换成等级,取均值来计算相关系数
  2. 斯皮尔曼相关系数对于数据错误和极端值的反应不敏感
  3. 如果两个变量间存在的一致单方向关系被称为单调相关关系,则用斯皮尔曼计算出来的结果的相关关系更强
卡方检验
卡方分布的临界值表

卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,卡方值越大,越不符合;卡方值越小,偏差越小,越趋于符合,若两个值完全相等时,卡方值就为0,表明理论值完全符合

val data = Seq(
  (0.0, Vectors.dense(0.5, 10.0)),
  (0.0, Vectors.dense(1.5, 20.0)),
  (1.0, Vectors.dense(1.5, 30.0)),
  (0.0, Vectors.dense(3.5, 30.0)),
  (0.0, Vectors.dense(3.5, 40.0)),
  (1.0, Vectors.dense(3.5, 40.0))
)

val df = data.toDF("label", "features")
val chi = ChiSquareTest.test(df, "features", "label").head
println(s"pValues = ${chi.getAs[Vector](0)}")
println(s"degreesOfFreedom ${chi.getSeq[Int](1).mkString("[", ",", "]")}")
println(s"statistics ${chi.getAs[Vector](2)}")
  1. 第一行表示显著性水平α,第一列表示自由度
  2. 自由度等于V = (行数 - 1) * (列数 - 1),对四格表,自由度V = 1
  3. 一般取显著性水平α为0.05
  4. 当样本太少还要注意卡方检验的修正
总结器
  1. mean:平均数
  2. variance: 样本方差
  3. weight: 权重

你可能感兴趣的:(ml之相关关系)