当前位置: 首页 > news >正文

wordpress无法批量管理优化电池充电什么意思

wordpress无法批量管理,优化电池充电什么意思,进入公众号继续阅读怎么弄,做日本外贸网站有哪些资料文章目录 前言原理代码实例scipy 实现seaborn 实现 前言 高斯核密度估计本是一种机器学习算法,在数学建模中也可以发挥作用。本文主要讨论用它来拟合变量的概率密度,获得概率密度函数 f ( x ) f(x) f(x)。 原理 已知一个连续型随机变量 X X X 的一系列…

文章目录

    • 前言
    • 原理
    • 代码实例
      • scipy 实现
      • seaborn 实现

前言

  高斯核密度估计本是一种机器学习算法,在数学建模中也可以发挥作用。本文主要讨论用它来拟合变量的概率密度,获得概率密度函数 f ( x ) f(x) f(x)

原理

  已知一个连续型随机变量 X X X 的一系列观测值 X 1 , X 2 , ⋯ , X n X_1,X_2,\cdots,X_n X1,X2,,Xn,我们可以用高斯核密度估计来拟合出 X X X 的概率密度函数 f ( x ) f(x) f(x)

代码实例

scipy 实现

  先给出代码,后面慢慢解释。

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gaussian_kde# 为测试 gaussian_kde 效果,当场生成1000个beta分布的随机数
np.random.seed(114)
info = np.random.beta(a=2, b=5, size=1000)# 根据一系列观测值 info,拟合出概率密度
# 这个 gaussian_kde 有个神奇的参数 bw_method,说是计算估计器带宽的方法,可以调一下
kde = gaussian_kde(info)
x = np.linspace(min(info), max(info), 1000)
pdf = kde.evaluate(x)# 开始作图# 指定楷体以显示中文字体
plt.rcParams["font.sans-serif"] = ['KaiTi']
fig = plt.figure()
ax1 = fig.add_subplot(111, label="1")
ax2 = fig.add_subplot(111, label="2", frame_on=False)# 100 指的是 100 个直方条
ax1.hist(info,100, color='r', alpha=0.4)
ax1.set_xlabel("观测值")
ax1.set_ylabel("观测频数")ax2.plot(x, pdf, c = 'b')
ax2.set_xticks([])
ax2.set_ylabel("拟合概率密度")
ax2.yaxis.tick_right()
ax2.yaxis.set_label_position('right')
plt.show()

  图画出来是这样的:

  • 6 − 7 6-7 67 行,按照 β \beta β 分布生成了一个含有 1000 1000 1000 个随机数的info。实际建模的时候,这个info应该是题目给我们的数据样本。
  • 11 11 11 行由info得到一个kde对象,kde.evaluate()实际上就是概率密度函数,传一个 x x x 就返回一个 f ( x ) f(x) f(x)
  • 12 − 13 12-13 1213 行是取了横轴上的一些数据点获取概率密度用于后续画图,如果把x记作 [ x 1 , ⋯ , x n ] [x_1,\cdots,x_n] [x1,,xn] 那么pdf就是 [ f ( x 1 ) , ⋯ , f ( x n ) ] [f(x_1),\cdots,f(x_n)] [f(x1),,f(xn)]
  • 18 18 18 行到最后都是在画图。

  如果你觉得拟合效果不佳,可以调整gaussian_kdebw_method参数。这个东西是采样宽度,换句话说它越大 f ( x ) f(x) f(x) 越粗糙,它越小 f ( x ) f(x) f(x) 更容易过拟合。比如我在上面的kde = gaussian_kde(info)中加入参数bw_method=0.1,画出来这样的图:

  明显有些过拟合,但是很多时候我们需要这种过拟合。

seaborn 实现

  Seaborn 作为一个强大的 Python 可视化库,也内置了高斯核密度估计的功能。Seaborn 只需要一行代码即可画出核密度估计图,但是它无法返回pdf或者kde等对象,也就是说我们只能看到 y = f ( x ) y=f(x) y=f(x) 的大致图像,却无法获取 f ( x 0 ) f(x_0) f(x0) x 0 x_0 x0 是某个具体值,比如 x 0 = 5 x_0=5 x0=5)的值。如果你的目的只是为了可视化,展示随机变量 X X X 的集中程度和均值情况,那么 seaborn 无疑是更方便的选择。

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 为测试 gaussian_kde 效果,当场生成1000个beta分布的随机数
np.random.seed(114)
info = np.random.beta(a=2, b=5, size=1000)# seaborn 作图
sns.set_style("whitegrid") # 风格设置
sns.kdeplot(info,shade=True, color="g") # 概率密度函数底下填充绿色阴影
plt.show()

  画出来效果如下,该图象轮廓与上面的应该是一样的。如果有两个分布类似的样本,使用 seaborn 用不同颜色画出概率密度函数,将会对比鲜明,非常好看。

  除了kdeplot,seaborn 库里的distplot也可以进行高斯核密度估计,优点是它还能带上直方图。

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 为测试 gaussian_kde 效果,当场生成1000个beta分布的随机数
np.random.seed(114)
info = np.random.beta(a=2, b=5, size=1000)# seaborn 作图
sns.set_style("whitegrid") # 风格设置
sns.distplot(info)
plt.show()

  你也可以调整distplot的参数,hist=False不画直方图,kde=False不画概率密度函数。

http://www.ds6.com.cn/news/23013.html

相关文章:

  • 个人做加盟商机网站如何盈利高端网站建设哪家便宜
  • 福建省建设行业企业资质查询网站whois查询 站长工具
  • 济宁网站建设的公司关键词是什么意思
  • 做类似淘宝的网站设计需要什么广东整治互联网霸王条款
  • 微商城开发报价郑州seo推广外包
  • 网站推广seo系统谷歌推广费用多少
  • 专业的建网站公司地址青岛网站制作
  • 武汉手机网站建设信息推推蛙贴吧优化
  • php网站本地调试百度指数关键词
  • 西安网站制作哪家好目前疫情最新情况
  • 公司网站建设需要显示什么近日发生的重大新闻
  • 黄岩做网站的公司个人怎么做百度竞价
  • 有什么软件做短视频网站好百度推广登录平台app
  • 网络营销推广方法视频网站优化排名方法
  • 做网站备案与不备案的区别免费打广告平台有哪些
  • 怎么在网上卖东西啊求职seo服务
  • 网站ui设计软件seo中文全称是什么
  • 定制型和模板型网站前端seo优化
  • 菏泽网站建设哪好本地建站软件有哪些
  • 公司网站建设和推广温州百度推广公司电话
  • wordpress插件卸载清理网站自然排名怎么优化
  • 公安门户网站建设中的问题大连百度推广公司
  • 旧安卓手机做网站公司网站设计
  • 智能建站网站第一站长网
  • 萍乡商城网站建设搜索引擎的工作原理分为
  • 云服务器网站搭建教程百度排名点击软件
  • 网站建设广州天河区广州优化疫情防控措施
  • 织梦批量修改网站源代码百度seo优化哪家好
  • 什么网站做软文海口网站建设
  • 网站图片怎么做的高级廊坊seo排名优化