最初引入KS检验的原因:用SVM 做分类问题时,发现在测试集上跑出来的准确率等参数比在训练集高许多,经过分析,推断可能是由于训练集和测试集上的数据分布情况不一致。所以想通过KS检验一下数据分布情况。
KS检验是什么:Kolmogorov–Smirnov 检验,简称KS检验,是统计学中的一种非参数假设检验,用来检测单样本是否服从某一分布,或者两样本是否服从相同分布。
KS检验使用:
单样本:
两样本:
注意:data1、data2是一维数组array,不能是列表 。
列表转数组:np.array();多维数组转一维数组:.flatten()。
KS返回结果:ks检验一般返回两个值:第一个值表示两个分布之间的最大距离,值越小即这两个分布的差距越小,分布也就越一致。第二个值是p值,用来判定假设检验结果的一个参数,p值越大,越不能拒绝原假设(待检验的两个分布式同分布),即两个分布越是同分布。
例: