python使用KDE曲线描述频率分布
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曲线描述频率分布相关推荐
- python 数据、曲线平滑处理
python 数据.曲线平滑处理--方法总结 Savitzky-Golay 滤波器实现曲线平滑 插值法对折线进行平滑曲线处理 基于Numpy.convolve实现滑动平均滤波 数据平滑处理--log( ...
- 高一信息技术课件python编程_教科版高中信息技术选修第一章第三节Python入门--奇妙曲线的绘制 课件(22张ppt) 教案 (2份打包)...
ID:10986924 资源大小:11671KB 资料简介: 教学设计 [课程标准要求] 体验算法思想,了解算法和程序设计在解决问题过程中的地位及作用:能从简单的问题出发,设计解决问题的算法,并能初步 ...
- python中基本程序结构_关于Python 程序格式框架的描述,正确的是( )
[判断题]元组的元素是可读的,可以对元组进行更新.增加.删除操作. [多选题]哪些选项关于循环结构的描述是正确的( ) [单选题]以下可以终结一个循环的是 . [判断题]对于大量列表的连接,exten ...
- python 画pr曲线
roc曲线: python 画roc曲线_jacke121的专栏-CSDN博客 import _pickle as cPickle import matplotlib.pyplot as pltxxx ...
- python画曲线-python绘制动态曲线教程
从txt种获取数据 并且通过动态曲线显示 import numpy as np import matplotlib.pyplot as plt import matplotlib.animation ...
- Python绘制简单函数曲线(包括坐标范围限制、刻度指定)
python绘制简单函数曲线,包括坐标范围限制.刻度指定 ################### 二维曲线图 ################## import numpy as np import ...
- 90 % 的 Python 开发者不知道的描述符应用
好吧,我承认我标题党了.但是这篇文章的知识点,你有极大的可能并不知道. 前段时间,我写了一篇描述符的入门级文章,从那些文章里你知道了如何定义描述符,且明白了描述符是如何工作的. 如果你还未学习,可以点 ...
- 机器学习之支持向量机SVM之python实现ROC曲线绘制(二分类和多分类)
目录 一.ROC曲线 二.TP.FP.TN.FN 三. python绘制ROC曲线(二分类) 1.思路 2.关键代码 3.完整代码 四. python绘制ROC曲线(多分类) 五.参考文献 一.ROC ...
- python画PR曲线(precision-recall曲线)
使用python画precision-recall曲线的代码是: sklearn.metrics.precision_recall_curve(y_true, probas_pred, pos_lab ...
最新文章
- 空间简史-人类认识空间的旅程与其对强化学习的启示
- linux nice值_linux系统管理之交互式企业站点(连载)
- 百度危矣:乱评程苓峰《360的章鱼手要抢谁家饭碗?》
- Zabbix基础概念
- Centos7安装时引导错误以及解决方案
- 简单的数据增强代码(C++与opencv)
- 利用tomcat配置网站
- C#效率优化(2)-- 方法内联
- Canvas 画时钟
- java 8 中文字体_jdk安装中文字体,解决Can't read the embedded font LNUHUF+SimSun
- 一款好看的 VSCode 代码主题和图标主题
- Python练手小程序—生成优惠券码写入mysql数据库中
- 如何保证战略落地_如何真正让企业战略规划体系落地
- sql 当为空值时置0_SQL查询值为空时默认输出0的方法
- 计算机网络实习内容,计算机网络工程实习目的与内容
- 【LaTex】IEEE论文作者信息排版
- html如何注释文字,css怎么注释?
- 2016全球大数据战略版图剖析(6):应用篇下
- 解密干嘉伟:管理者用人,领导者培养人 by彭文华
- 利用Java简单的实现围棋小游戏
热门文章
- ADS-B原理及ADS-B OUT功能验证测试概述
- mysql 同步 结构_mysqlSync
- 爬楼梯,有多少种方式到楼顶?
- 中山大学 计算机学院 数字图像处理 2020 期末考试(A卷)
- 物业软件对管理的作用分析
- 《从零开始学架构》一:基础架构
- day025 JavaScript第二天
- 【作业】{r} :Shiny app 中使用 isolate 函数,达到 app 作图变换时的不实时反馈效果
- 叛乱2 linux服务器,叛乱沙漠风暴服务器配置教程_叛乱沙漠风暴怎么开服_玩游戏网...
- win10pin不可用进不去系统_为什么批发商们都要用520批发网呢?