sklearn KDE文档:https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KernelDensity.html

文章目录

  • 算法描述
  • 示例代码
  • 更多学习参考

算法描述

KDE核密度估计,通俗来说,就是用平滑的曲线描述一个序列数据的频率分布直方图。然而在使用频率分布直方图时,要确定每个频率的区间大小,太大则无法反应细微的差距,太小则会是直方图变得毫无意义,因此我们可以通过KDE,从核函数的角度了解这个序列频率的趋势变化,而无需通过阈值确定区间大小。

示例代码

from sklearn.neighbors import KernelDensity
import numpy as np
import matplotlib.pyplot as plt
import pandas as pddef get_curve_by_kde(array: np.ndarray):"""计算KDE曲线"""model = KernelDensity(bandwidth=1.0, kernel='gaussian')model.fit(array[:, np.newaxis])  # 概率分布x_range = np.linspace(min(array) - 1, max(array) + 1, len(array))# model.score_samples返回的是一个log之后的值,因此需要使用e还原数据x_prob = np.exp(model.score_samples(x_range[:, np.newaxis]))return x_probdef main():"""主流程"""x_train = np.hstack((np.random.normal(2, 1, 200), np.random.normal(6, 4, 200)))  # 两个高斯分布组合到一起x_prob = get_curve_by_kde(x_train)# 展示dataframe = pd.DataFrame(data=[x_prob]).Tdataframe.plot()plt.show()if __name__ == '__main__':main()

得到效果图:

更多学习参考

  • 什么是核密度估计?如何感性认识?:https://www.zhihu.com/question/27301358
  • 非参数估计:核密度估计KDE:https://blog.csdn.net/pipisorry/article/details/53635895

python使用KDE曲线描述频率分布相关推荐

  1. python 数据、曲线平滑处理

    python 数据.曲线平滑处理--方法总结 Savitzky-Golay 滤波器实现曲线平滑 插值法对折线进行平滑曲线处理 基于Numpy.convolve实现滑动平均滤波 数据平滑处理--log( ...

  2. 高一信息技术课件python编程_教科版高中信息技术选修第一章第三节Python入门--奇妙曲线的绘制 课件(22张ppt) 教案 (2份打包)...

    ID:10986924 资源大小:11671KB 资料简介: 教学设计 [课程标准要求] 体验算法思想,了解算法和程序设计在解决问题过程中的地位及作用:能从简单的问题出发,设计解决问题的算法,并能初步 ...

  3. python中基本程序结构_关于Python 程序格式框架的描述,正确的是( )

    [判断题]元组的元素是可读的,可以对元组进行更新.增加.删除操作. [多选题]哪些选项关于循环结构的描述是正确的( ) [单选题]以下可以终结一个循环的是 . [判断题]对于大量列表的连接,exten ...

  4. python 画pr曲线

    roc曲线: python 画roc曲线_jacke121的专栏-CSDN博客 import _pickle as cPickle import matplotlib.pyplot as pltxxx ...

  5. python画曲线-python绘制动态曲线教程

    从txt种获取数据 并且通过动态曲线显示 import numpy as np import matplotlib.pyplot as plt import matplotlib.animation ...

  6. Python绘制简单函数曲线(包括坐标范围限制、刻度指定)

    python绘制简单函数曲线,包括坐标范围限制.刻度指定 ################### 二维曲线图 ################## import numpy as np import ...

  7. 90 % 的 Python 开发者不知道的描述符应用

    好吧,我承认我标题党了.但是这篇文章的知识点,你有极大的可能并不知道. 前段时间,我写了一篇描述符的入门级文章,从那些文章里你知道了如何定义描述符,且明白了描述符是如何工作的. 如果你还未学习,可以点 ...

  8. 机器学习之支持向量机SVM之python实现ROC曲线绘制(二分类和多分类)

    目录 一.ROC曲线 二.TP.FP.TN.FN 三. python绘制ROC曲线(二分类) 1.思路 2.关键代码 3.完整代码 四. python绘制ROC曲线(多分类) 五.参考文献 一.ROC ...

  9. python画PR曲线(precision-recall曲线)

    使用python画precision-recall曲线的代码是: sklearn.metrics.precision_recall_curve(y_true, probas_pred, pos_lab ...

最新文章

  1. 空间简史-人类认识空间的旅程与其对强化学习的启示
  2. linux nice值_linux系统管理之交互式企业站点(连载)
  3. 百度危矣:乱评程苓峰《360的章鱼手要抢谁家饭碗?》
  4. Zabbix基础概念
  5. Centos7安装时引导错误以及解决方案
  6. 简单的数据增强代码(C++与opencv)
  7. 利用tomcat配置网站
  8. C#效率优化(2)-- 方法内联
  9. Canvas 画时钟
  10. java 8 中文字体_jdk安装中文字体,解决Can't read the embedded font LNUHUF+SimSun
  11. 一款好看的 VSCode 代码主题和图标主题
  12. Python练手小程序—生成优惠券码写入mysql数据库中
  13. 如何保证战略落地_如何真正让企业战略规划体系落地
  14. sql 当为空值时置0_SQL查询值为空时默认输出0的方法
  15. 计算机网络实习内容,计算机网络工程实习目的与内容
  16. 【LaTex】IEEE论文作者信息排版
  17. html如何注释文字,css怎么注释?
  18. 2016全球大数据战略版图剖析(6):应用篇下
  19. 解密干嘉伟:管理者用人,领导者培养人 by彭文华
  20. 利用Java简单的实现围棋小游戏

热门文章

  1. ADS-B原理及ADS-B OUT功能验证测试概述
  2. mysql 同步 结构_mysqlSync
  3. 爬楼梯,有多少种方式到楼顶?
  4. 中山大学 计算机学院 数字图像处理 2020 期末考试(A卷)
  5. 物业软件对管理的作用分析
  6. 《从零开始学架构》一:基础架构
  7. day025 JavaScript第二天
  8. 【作业】{r} :Shiny app 中使用 isolate 函数,达到 app 作图变换时的不实时反馈效果
  9. 叛乱2 linux服务器,叛乱沙漠风暴服务器配置教程_叛乱沙漠风暴怎么开服_玩游戏网...
  10. win10pin不可用进不去系统_为什么批发商们都要用520批发网呢?