高斯混合模型做聚类

概述

聚类算法大多数采用相似度来判断,而相似度又大多数采用欧式距离长短来衡量,而GMM采用了新的判断依据—–概率,即通过属于某一类的概率大小来判断最终的归属类别 。
GMM的基本思想就是:任意形状的概率分布都可以用多个高斯分布函数去近似,也就是GMM就是有多个单高斯密度分布组成的,每一个Gaussian叫”Component”,线性的加成在一起就组成了GMM概率密度。

算法函数

n_components :高斯模型的个数,即聚类的目标个数 
covariance_type : 通过EM算法估算参数时使用的协方差类型,默认是”full” 
full:每个模型使用自己的一般协方差矩阵 
tied:所用模型共享一个一般协方差矩阵 
diag:每个模型使用自己的对角线协方差矩阵 
spherical:每个模型使用自己的单一方差

可与K-means聚类比较:

https://blog.csdn.net/fanzonghao/article/details/85045232

#coding:utf-8
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.mixture import GaussianMixture
import time
import os
import numpy as np
import matplotlib.pyplot as plt
data_path = "./Aggregation_cluster=7.txt"
# 导入数据
def load_data():points = pd.read_table(data_path, header=None)return pointsdef plotRes(data, clusterRes, clusterNum):"""结果可视化:param data:样本集:param clusterRes:聚类结果:param clusterNum: 类个数:return:"""nPoints = len(data)scatterColors = ['black', 'blue', 'green', 'yellow', 'red', 'purple', 'orange', 'brown']for i in range(clusterNum):color = scatterColors[i % len(scatterColors)]x1 = [];  y1 = []for j in range(nPoints):if clusterRes[j] == i:x1.append(data[j, 0])y1.append(data[j, 1])plt.scatter(x1, y1, c=color, alpha=1, marker='+')plt.show()
if __name__ == '__main__':n_cluster=7points=load_data()df = pd.DataFrame(points, index=None)X = df.iloc[:, :-1].valuesprint(X)n = X.shape[0]print('========== Do clustering ==========')start_time = time.time()gmm = GaussianMixture(n_components=n_cluster, covariance_type='full')# gmm=KMeans(n_clusters=n_cluster)gmm.fit(X)y_pred = gmm.predict(X)end_time = time.time()print('--- {} s ---'.format(end_time - start_time))plotRes(X,y_pred,n_cluster)

n_cluster==3:

n_cluster==4:

n_cluster==5:

n_cluster==7:

由以上聚类图与kmeans比较可看出,比kmeans效果好。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#使用HTML文件中的file文件上传,用C#代码接收上传文件

单独做图片上传很简单,如果要客户端要上传头像保存到服务器就要稍微麻烦一点点了。 不多说了,直接上源码: private void Upload() { string jsonInfo string.Empty; ///这句是关键,它是获取HTTP中文件流 的对象集合。 Ht…

基于深度学习的NLP 32页最新进展综述,190篇参考文献

来源:专知摘要:深度学习使用多层学习层次的数据表示,并在许多领域得到了最优的结果。最近,各种各样的模型设计和方法在自然语言处理(NLP)蓬勃发展。在本文中,我们回顾了被广泛应用于各种NLP任务的深度学习相关模型和算法以及它们的发展演变过程。我们还总…

.net framework摘抄与理解

1."源码"编译成"托管模块": 2.将"托管模块"合并成"托管程序集" 3.clr中的"JIT"执行"托管程序集" 第二次执行已被JIT编译成机器码的Console.WriteLine("") 转载于:https://www.cnblogs.com/doujiaomifan…

“新一代人工智能前沿与挑战”国际研讨会专家观点分享

来源:西电人工智能学院摘要:2018年11月25日-26日举办的“新一代人工智能前沿与挑战”中青年论坛暨第二十一届学术周在西安电子科技大学圆满落幕,研讨会上包括长江学者、IEEE Fellow、领域顶尖中青年学者、新锐企业领导者等在内的国内外权威专…

决策树算法及可视化

经典决策树算法包括ID3算法、C4.5算法以及GBDT的基分类器CART算法 ,ID3算法选择特征的依据是信息增益、C4.5是信息增益比,而CART则是Gini指数。 例子: 所谓信息增益就是数据在得到特征X的信息时使得类Y的信息不确定性减少的程度。假设数据集D的信息熵为H(D)&#x…

ListView排序并隔色显示

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; using System.Windows.Forms; using System.Drawing;namespace STools {class ListViewColumnSorter : IComparer{/**//// <summary>/// 指定按照哪个…

python多进程并发+pool多线程+共享变量

一&#xff0e;多进程 当计算机运行程序时&#xff0c;就会创建包含代码和状态的进程。这些进程会通过计算机的一个或多个CPU执行。不过&#xff0c;同一时刻每个CPU只会执行一个进程&#xff0c;然后不同进程间快速切换&#xff0c;给我们一种错觉&#xff0c;感觉好像多个程…

高通骁龙855发布,5G大幕拉开,新一轮手机大战在即

来源&#xff1a;网易智能摘要&#xff1a;高通终于公布下一代移动芯片骁龙855。美国时间12月4日&#xff0c;高通在美国夏威夷召开了第三届高通骁龙技术峰会&#xff0c;在峰会首日&#xff0c;骁龙855正式发布。并非外界传言的8150&#xff0c;高通还是沿用了之前的命名规则。…

机器学习的几种方法(knn,逻辑回归,SVM,决策树,随机森林,极限随机树,集成学习,Adaboost,GBDT)

一.判别模式与生成模型基础知识 举例&#xff1a;要确定一个瓜是好瓜还是坏瓜&#xff0c;用判别模型的方法是从历史数据中学习到模型&#xff0c;然后通过提取这个瓜的特征来预测出这只瓜是好瓜的概率&#xff0c;是坏瓜的概率。 举例&#xff1a;利用生成模型是根据好瓜的特…

大端小端模式

大端小端模式是指内存中的数据存储方式。 大端模式&#xff0c;指数据的高位字节存在内存的低地址&#xff0c;数据的低位字节存在内存的高地址。 小端模式&#xff0c;指数据的高位字节存在内存的高地址&#xff0c;数据的低位字节存在内存的低地址。 如十六进制数0x12345678&…

京东物联网战略大升级|与华为合作,疯狂发布新品,“养鱼”的京东正在物联网赛道上花式秀技术...

来源&#xff1a;物联网智库12月4日下午&#xff0c;在“智联万物 新响无限”2018年京东IoT战略发布会上&#xff0c;京东发布了其IoT领域的最新战略规划&#xff0c;推出了新的品牌“京鱼座”&#xff0c;还推出一系列合作品牌与硬件产品&#xff0c;该战略不仅是对去年5月9日…

centos下apache安装

安装环境&#xff1a;centos查找可安装的包&#xff1a;yum list httpd*安装&#xff1a;yum install httpd.x86_64查看安装包的所有安装文件&#xff1a;rpm -ql httpd 配置文件&#xff1a;/etc/httpd/conf/httpd.conf日志目录&#xff1a;/etc/httpd/logs页面存放路径&…

电动车的惊世骗局

来源&#xff1a;世界科技创新论坛摘要&#xff1a;新能源是一个很好的机会&#xff0c;技术也没有瓶颈&#xff0c;如果发展对了方向&#xff0c;十年扶持一两个世界领先水平的企业是没问题的。但如果有人趁机“钻空子”&#xff0c;让有限的资源被浪费&#xff0c;怕是很难有…

语义分割中的类别不平衡的权重计算

这是5幅图&#xff0c;加上背景共5类。 可以参考这篇文章https://blog.csdn.net/u012426298/article/details/81232386 对于一个多类别图片数据库&#xff0c;每个类别都会有一个class frequency, 该类别像素数目除以数据库总像素数目, 求出所有class frequency 的median 值&…

盘点百度、阿里、腾讯、华为自动驾驶战略

来源&#xff1a;智车科技摘要&#xff1a;本文中盘点了百度、阿里、腾讯、华为四家巨头的自动驾驶事迹&#xff0c;以及从车路协同、车联网、高精度地图等方面对四家公司进行了梳理。今年阿里9 月云栖大会、华为10 月全联接大会、百度11 月世界大会、腾讯11 月合作伙伴大会可以…

N 组连续子串最大和

数组 a 中有 M 个数 &#xff0c; 将 M 个数分成 N 组 &#xff0c; 并且每组中的数据顺序和原数组中的顺序保持一致&#xff0c;求 N 组中的数据之和最大为多少&#xff1f; 向 dp 数组中赋初始值 &#xff0c;如果 M N &#xff0c;则 dp[ i ][ i ] dp[ i - 1 ][ i - 1 ] …

计算机行业2019年度投资研究手册

来源&#xff1a;乐晴智库精选摘要&#xff1a;计算机服务于各行各业&#xff0c;担当各下游需求行业的重要工具&#xff0c;在技术上游电子元器件和通信的技术变迁中&#xff0c;计算机企业结合客户需求不断进行技术和模式创新以获取源源不断的成长动力。2014-2015年在4G及移动…

scikit-learn流形学习手写数字可视化

本文参考如下链接&#xff1a; https://www.jianshu.com/p/2542e0a5bdf8 from time import time import cv2 import numpy as np import matplotlib.pyplot as plt from matplotlib import offsetbox from sklearn import (manifold, datasets, decomposition, ensemble,disc…

《Cracking the Coding Interview》——第11章:排序和搜索——题目7

2014-03-21 22:05 题目&#xff1a;给你N个盒子堆成一座塔&#xff0c;要求下面盒子的长和宽都要严格大于上面的。问最多能堆多少个盒子&#xff1f; 解法1&#xff1a;O(n^2)的动态规划解决。其实是最长递增子序列问题&#xff0c;所以也可以用O(n * log(n))的优化算法。 代码…

世界上手速最快的仿人机器人诞生在韩国!魔术师也要失业了!

来源&#xff1a;机器人创新生态虽然夏天都过去了这么久&#xff0c;但谁能想到小编竟然还能深受蚊子的骚扰~~这只蚊子真的是很强啊&#xff0c;为了消灭这些蚊子&#xff0c;小编特意进口了一款专用的“拍蚊子机器人”经过小编亲自测试&#xff0c;这款机器人拍蚊子效果非常不…