zoukankan      html  css  js  c++  java
  • 十三、Sklearn核密度估计

    参考url:

    https://jakevdp.github.io/PythonDataScienceHandbook/05.13-kernel-density-estimation.html

    密度评估器是一种利用D维数据集生成D维概率分布估计的算法,GMM算法用不同高斯分布的加权汇总来表示概率分布估计。核密度估计(kernel density estimation,KDE)算法将高斯混合理念扩展到了逻辑极限(logical extreme),它通过对每个点生成高斯分布的混合成分,获得本质上是无参数的密度评估器。

    1、KDE的由来:直方图

      密度估计评估器是一种寻找数据集生成概率分布模型的算法。

      一维数据的密度估计——直方图,是一个简单的密度评估器,直方图将数据分成若干区间,统计落入每个区间内的点的数量,然后用直观的方式将结果可视化。

      

      

       

      

       

       

    2、核密度估计的实际应用

      核密度估计的自由参数是核类型(kernel)参数,他可以指定每个点核密度分布的形状。

      核带宽(kernel bandwidth)参数控制每个点的核的大小

      核密度估计算法在sklearn.neighbors.KernelDensity评估器中实现,借助六个核中的任意一个核、二三十个距离量度就可以处理具有多个维度的KDE。

      由于KDE计算量非常大,因此Scikit-Learn评估器底层使用了一种基于树的算法,可以利用atol(绝对容错)和rtol(相对容错)参数来平衡计算时间与准确性,可以用Scikit-Learn的标准交叉检验工具来确定自由参数核带宽。

      

       通过交叉检验选择带宽

      在KDE中,带宽的选择不仅对找到合适的密度估计非常重要,也是在密度估计中控制偏差-方差平衡的关键:

      (1)带宽过窄将导致估计呈现高方差(即过拟合),而且每个点的出现或缺失都会引起很大的不同

      (2)带宽过宽将导致估计呈现高偏差(即欠拟合),而且带宽较大的核还会破坏数据结构

      

      机器学习中超参数的调优通常都是通过交叉检验完成的。

      

      

     

  • 相关阅读:
    web测试--安全性
    web测试--链接测试
    web测试--兼容性
    web测试--界面和易用性
    web测试--返回键、回车键、刷新键
    web测试--查询结果
    列表标签代码解析
    备份
    java格式化时间
    js往div里添加table
  • 原文地址:https://www.cnblogs.com/nuochengze/p/12542515.html
Copyright © 2011-2022 走看看