python 端口扫描,python实现端口扫描器

  python 端口扫描,python实现端口扫描器

  个人资料

  Kolmogorov-Smirnovtest(ks (KS检验)是一种重要的非参数检验方法,应用广泛。比如前面介绍的数据库CMap,其核心算法是参考KS测试。

  KS检验是通过比较两个样本的频率分布或一个样本的频率分布与特定理论分布(如正态分布)的差异来推断两个分布是否来自同一分布的统计检验方法。

  实现方法:

  二维码:

  是ks.test(x)

  #其中x是“数据值的数值向量”,即数值型向量。

  Python代码:

  从脚本导入状态

  stats.kstest(RVS,cdf,args=(),…)

  #这里,rvs可以是数组、生成数组的函数或者scipy.stats中理论分布的名称

  #cdf可以匹配rvs。如果rvs和cdf是同一个序列,比较两个序列分布是否一致。一个是序列,一个是理论分布的名称,看看有没有样本和理论分布。

  #args是一个元组,用来存储理论分布的参数,比如正态分布的均值和标准差(如果rvs或cds是理论分布)。

  面临的问题:

  在一个实际问题中,有一个大小为10000的数组。长度如下所示。

  test=[ 4949.58940397,4712.41059603,4426.198675,4427.807947,

  4695.1192053、4929.2384106、4403.08609272、4606.33112583、

  499.23178808,4523.54966887,4551.41721854,4784.89403974, ]

  我想看看这组数据是否符合正态分布。当直接使用上面的python代码时,没有报告错误,但我得到了这个结果:

  input:stats.kstest(test, norm ).

  Out: ks测试结果(统计值=1.0,p值=0.0)。

  结果肯定有问题。在查看kstest函数的原始文档时,它有一个之前被忽略的参数,即args。

  一个参数名

  元组,序列,可选

  参数离差,usedirforcdfarestringsorcallables。

  解决办法

  然后,添加适当的args参数,即期望正态分布的平均值和标准差。

  输入:stats.kstest(test, norm ,args=(test.mean),test.std))

  输出:ks测试结果(statistic=0.00577479839093713,pvalue=0.8923049615924274))

  结果很正常!明白急功近利,仔细说明文档对于阅读函数的重要性(lll(())。

  参考资料:

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: