以下为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. 白鹭引擎 - 绘制圆形的进度条 ( graphics )

    class Main extends egret.DisplayObjectContainer { /** * Main 类构造器, 初始化的时候自动执行, ( 子类的构造函数必须调用父类的构造函数 ...

  2. MonGoDB 在linux 上的安装和配置

    01: 下载 linux 版本的二进制包 => https://www.mongodb.com/ 02: 解压  => tar -zxf mongodb-linux-x86_64-3.4. ...

  3. JS与Android交互

    一.Android调用JS 2种方法 1.通过WebView的loadUrl 2.通过WebView的evaluateJavascript

  4. DataSnap Server 客户端调用 异常

    No peer with the interface with guid {9BB0BE5C-9D9E-485E-803D-999645CE1B8F} has been registered.

  5. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql/mysql.sock' (2)

    [root@XXX ~]# mysql -h localhost -uroot -p Enter password: ERROR (HY000): Can't connect to local MyS ...

  6. ABAP-串口通信-道闸设备

    最近SAP系统需要与道闸设备集成,通过串口通讯模式控制道闸栏杆升降,在此将开发过程中的思路及问题点做个备注. 一.相关设备 道闸设备型号:富士智能FJC-D618 串口模块:康耐德 C2000-A1- ...

  7. js的非空校验

    利用TagName获取元素名称,进行批量非空校验 var input = document.getElementsByTagName("input"); for (var i=0; ...

  8. const 关键字总结

    int a; const int* p = &a; ==  int const * p = &a; 表示通过p不能修改a的值. const int a; int *p = &a ...

  9. UICollectionView setPrefetchingEnabled

    UICollectionView 开启是否开启预加载,如果开启,cell在没显示的时候就回去调用cellForIndex…方法,如果没开启,cell只有在显示的时候才会去调用cellForIndex… ...

  10. eclipse 使用Maven deploy命令部署构建到Nexus

    转载于:http://blog.csdn.net/jun55xiu/article/details/43051627 1  应用场景:SYS-UTIL(系统工具)项目部署.构建成JAR包(SYS-UT ...