Python贝叶斯高斯混合模型GMM聚类分析数据和混合密度可视化

简介: Python贝叶斯高斯混合模型GMM聚类分析数据和混合密度可视化

全文链接 :https://tecdat.cn/?p=33821


混合模型是另一种生成模型,它将数据点的分布建模为多个单独分布的组合("混合")点击文末“阅读原文”获取完整代码数据


客户常见的混合模型类型是高斯混合模型,其中数据生成分布被建模为多个高斯分布的组合。

import numpy as np
import matplotlib.pyplot as plt

下面是通过三个二维高斯分布的一些数据:

......
# 绘制数据
plt.plot(X[:, 0], X[:, 1], '.', alpha=0.2)

image.png

让我们使用贝叶斯高斯混合模型对这些数据进行建模。


点击标题查阅往期内容


R语言使用混合模型GMM进行聚类


01

02

03

04



数据点生成于混合成分的概率由分类分布进行建模,根据权重来决定:

image.png

然后,数据点观测值的似然性由混合成分的分布决定:

image.png

构建这个模型。与相关模型一样,这是一个生成模型,而只是拟合数据生成分布 - 因此__call__方法没有输入参数。

class GaussianMixtureModel(pf.Model):
 ......
        return pf.Mixture(dists, probs=self.theta())

使用ProbFlow构建上述模型的复杂性与使用“原始”TensorFlow和TensorFlow Probability构建模型的复杂性进行比较。

然后,我们可以实例化该模型并将其拟合到数据中!

......model.fit(X, lr=0.03, epochs=500, batch_size=1024)

要查看混合密度在可能的值范围上的拟合情况,我们可以计算并绘制模型在网格上的概率:

# 在网格上计算每个点的对数似然
Np = 100 # 网格点数量
......
# 显示拟合的混合密度
plt.imshow(probs,
......           origin='lower')

image.png

混合密度线与用于拟合模型的数据点非常吻合!

# 绘制密度和原始数据点
......plt.contour(xx, xx, probs)

image.png

相关文章
|
7月前
|
数据采集 Web App开发 数据可视化
Python零基础爬取东方财富网股票行情数据指南
东方财富网数据稳定、反爬宽松,适合爬虫入门。本文详解使用Python抓取股票行情数据,涵盖请求发送、HTML解析、动态加载处理、代理IP切换及数据可视化,助你快速掌握金融数据爬取技能。
4481 1
|
8月前
|
数据可视化 搜索推荐 大数据
基于python大数据的北京旅游可视化及分析系统
本文深入探讨智慧旅游系统的背景、意义及研究现状,分析其在旅游业中的作用与发展潜力,介绍平台架构、技术创新、数据挖掘与服务优化等核心内容,并展示系统实现界面。
|
7月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
677 0
|
7月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
7月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
8月前
|
存储 监控 API
Python实战:跨平台电商数据聚合系统的技术实现
本文介绍如何通过标准化API调用协议,实现淘宝、京东、拼多多等电商平台的商品数据自动化采集、清洗与存储。内容涵盖技术架构设计、Python代码示例及高阶应用(如价格监控系统),提供可直接落地的技术方案,帮助开发者解决多平台数据同步难题。
|
8月前
|
数据采集 关系型数据库 MySQL
python爬取数据存入数据库
Python爬虫结合Scrapy与SQLAlchemy,实现高效数据采集并存入MySQL/PostgreSQL/SQLite。通过ORM映射、连接池优化与批量提交,支持百万级数据高速写入,具备良好的可扩展性与稳定性。
|
8月前
|
JSON API 数据安全/隐私保护
Python采集淘宝评论API接口及JSON数据返回全流程指南
Python采集淘宝评论API接口及JSON数据返回全流程指南

推荐镜像

更多