以下为GMM聚类程序

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
data=pd.read_csv('Fremont.csv',index_col='Date',parse_dates=True)
print(data.head()) data.plot()
plt.show()
data.resample('w').sum().plot()#以周为时间统计 data.resample('D').sum().rolling(365).sum().plot()
plt.show() ##按照时间为统计
data.groupby(data.index.time).mean().plot()
plt.xticks(rotation=45)
plt.show() data.columns=['West','East']
data['Total']=data['West']+data['East']
pivoted=data.pivot_table('Total',index=data.index.time,columns=data.index.date)
pivoted.iloc[:5,:5]
print(pivoted.iloc[:5,:5])
pivoted.plot(legend=False,alpha=0.01)
plt.xticks(rotation=45)
plt.show() print(pivoted.shape)
X=pivoted.fillna(0).T.values
print(X.shape) from sklearn.decomposition import PCA
X2 =PCA(2).fit_transform(X)
print(X2.shape)
plt.scatter(X2[:,0],X2[:,1])
plt.show() from sklearn.mixture import GaussianMixture
gmm =GaussianMixture (2)
gmm.fit(X)
# labels= gmm.predict_proba(X)
# print(labels)
labels=gmm.predict(X)
print(labels)
plt.scatter(X2[:,0],X2[:,1],c=labels,cmap='rainbow')
plt.show() from sklearn.datasets.samples_generator import make_blobs
X,y_true =make_blobs(n_samples=800,centers=4,random_state=11)
plt.scatter(X[:,0],X[:,1])
plt.show() from sklearn.cluster import KMeans
KMeans =KMeans(n_clusters=4)
KMeans.fit(X)
y_Kmeans=KMeans.predict(X)
plt.scatter(X[:,0],X[:,1],c=y_Kmeans,s=50,cmap='viridis')
centers=KMeans.cluster_centers_
plt.show() from sklearn.mixture import GaussianMixture
gmm =GaussianMixture(n_components=4).fit(X)
labels=gmm.predict(X)
print(labels)
plt.scatter(X[:,0],X[:,1],c=labels,s=40,cmap='viridis')
plt.show()

  

运行结果

EM算法之GMM聚类的更多相关文章

  1. 聚类和EM算法——K均值聚类

    python大战机器学习——聚类和EM算法   注:本文中涉及到的公式一律省略(公式不好敲出来),若想了解公式的具体实现,请参考原著. 1.基本概念 (1)聚类的思想: 将数据集划分为若干个不想交的子 ...

  2. EM 算法(三)-GMM

    高斯混合模型 混合模型,顾名思义就是几个概率分布密度混合在一起,而高斯混合模型是最常见的混合模型: GMM,全称 Gaussian Mixture Model,中文名高斯混合模型,也就是由多个高斯分布 ...

  3. 机器学习——EM算法与GMM算法

    目录 最大似然估计 K-means算法 EM算法 GMM算法(实际是高斯混合聚类) 中心思想:①极大似然估计 ②θ=f(θold) 此算法非常老,几乎不会问到,但思想很重要. EM的原理推导还是蛮复杂 ...

  4. 机器学习(七)EM算法、GMM

    一.GMM算法 EM算法实在是难以介绍清楚,因此我们用EM算法的一个特例GMM算法作为引入. 1.GMM算法问题描述 GMM模型称为混合高斯分布,顾名思义,它是由几组分别符合不同参数的高斯分布的数据混 ...

  5. EM 算法-对鸢尾花数据进行聚类

    公号:码农充电站pro 主页:https://codeshellme.github.io 之前介绍过K 均值算法,它是一种聚类算法.今天介绍EM 算法,它也是聚类算法,但比K 均值算法更加灵活强大. ...

  6. 【机器学习】GMM和EM算法

    机器学习算法-GMM和EM算法 目录 机器学习算法-GMM和EM算法 1. GMM模型 2. GMM模型参数求解 2.1 参数的求解 2.2 参数和的求解 3. GMM算法的实现 3.1 gmm类的定 ...

  7. 6. EM算法-高斯混合模型GMM+Lasso详细代码实现

    1. 前言 我们之前有介绍过4. EM算法-高斯混合模型GMM详细代码实现,在那片博文里面把GMM说涉及到的过程,可能会遇到的问题,基本讲了.今天我们升级下,主要一起解析下EM算法中GMM(搞事混合模 ...

  8. GMM与EM算法

    用EM算法估计GMM模型参数 参考  西瓜书 再看下算法流程

  9. PLSA及EM算法

    前言:本文主要介绍PLSA及EM算法,首先给出LSA(隐性语义分析)的早期方法SVD,然后引入基于概率的PLSA模型,其参数学习采用EM算法.接着我们分析如何运用EM算法估计一个简单的mixture ...

随机推荐

  1. wimform/对话框/Textbox基本方法

    1.ColorDialog:颜色对话框 private void 颜色ToolStripMenuItem_Click(object sender, EventArgs e) { //对话框结果类型定义 ...

  2. mezzanine的page_menu tag

    mezzanine的head 导航条.左侧tree.footer是由page_menu产生的.page_menu的算法,先计算出每一页的孩子,然后再逐页去page_menu. @register.re ...

  3. Linux 硬链接、软链接

    索引节点 inode(index node) 我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata).用户数据,即文件数据块 ...

  4. module模块和包

    import 和 from 调用 module 目录有calc.py 和  test.py 两个文件 calc.py文件内容: def add(x,z): return x+z def sub(x,z ...

  5. python 中的比较==和is

    Python 中的比较:is 与 == 在 Python 中会用到对象之间比较,可以用 ==,也可以用 is .但是它们的区别是什么呢? is 比较的是两个实例对象是不是完全相同,它们是不是同一个对象 ...

  6. idea debug只断点当前线程,不阻塞其他线程

    公司前后端分离,后端人员无需编写前端js ,后端开发调试某个数据的时候,前端总是嫌弃后端断点,影响到他开发.....idea早已提供这个功能,做下记录 选中你需要调试的控制器,其他控制器不会受到影响, ...

  7. vue ...mapMutations 的第一个参数默认为 数据对象state

    1.实现回调后 路由的跳转 mutationsLoginHeaderBackFun(state,$router) { console.log(state); console.log($router); ...

  8. jquery初级接触-----链式操作

    设置一个初级菜单,点击显示本级菜单下的项目,被点击的同级其它菜单收起 html 代码: <!DOCTYPE html> <html lang="en"> & ...

  9. Jquery select chosen 插件注意点

    <select style="width:200px;" name="carId" data-placeholder="选择车辆牌照" ...

  10. Python中fileinput模块使用方法

    fileinput模块提供处理一个或多个文本文件的功能,可以通过使用for循环来读取一个或多个文本文件的所有行.python2.7文档关于fileinput介绍:fileinput   fileinp ...