文章目录

  • 引言
  • GaussianMixture

引言

GaussianMixture是EM算法在高斯混合分布的实现
sklearn-GaussianMixture

GaussianMixture

from sklearn.mixture import GaussianMixturesklearn.mixture.GaussianMixture(n_components=1, *, covariance_type='full', tol=0.001, reg_covar=1e-06,
max_iter=100,n_init=1, init_params='kmeans', weights_init=None, means_init=None,
precisions_init=None, random_state=None,warm_start=False, verbose=0, verbose_interval=10)

描述

该API表示一个高斯混合模型概率分布,并且允许估计高斯混合分布的参数

参数

n_components : int, default=1
混合高斯模型个数,默认为1

covariance_type : {‘full’, ‘tied’, ‘diag’, ‘spherical’}, default=’full’
描述协方差的类型;默认‘full’ ,完全协方差矩阵

full 指完全协方差矩阵(元素都不为零)
tied 指相同的完全协方差矩阵(HMM-主题模型中会用到)
diag 指对角协方差矩阵(非对角为零,对角不为零)
spherical 指球面协方差矩阵(非对角为零,对角完全相同,球面特性)

tol : float, default=1e-3
EM迭代停止阈值,默认为1e-3.

reg_covar : float, default=1e-6
:协方差对角非负正则化,保证协方差矩阵均为正,默认为0

max_iter : int, default=100
最大迭代次数,默认100

n_init : int, default=1
初始化次数,用于产生最佳初始参数,默认为1

init_params : {‘kmeans’, ‘random’}, default=’kmeans’
初始化参数实现方式,默认用kmeans实现,也可以选择随机产生

weights_init : array-like of shape (n_components, ), default=None
权重初始化,可以自己设,如果为None,则使用init_params方法初始化权值。

means_init : array-like of shape (n_components, n_features), default=None
初始化均值;如果为None,则使用init_params方法初始化。

precisions_init : array-like, default=None
初始化精度(协方差矩阵的逆)。
如果为None,则使用’ init_params ‘方法初始化精度。形状依赖于’ covariance_type ’

(n_components,) if ‘spherical’,
(n_features, n_features) if ‘tied’,
(n_components, n_features) if ‘diag’,
(n_components, n_features, n_features) if ‘full’

random_state : int, RandomState instance or None, default=None
随机数种子,用于重复输出

warm_start : bool, default=False
如果’ warm_start ‘为True,则使用最后一次拟合的解作为下一次调用fit()的初始化参数,适合相同问题多次fit的情况,能加速收敛,默认为False。在这种情况下,’ n_init '被忽略,在第一次调用时只有一个初始化发生

verbose : int, default=0
是否冗余输出
如果为1,则打印当前的初始化和每个迭代步骤。
如果大于1,则还将打印对数概率和每个步骤所需的时间。

verbose_interval : int, default=10
在下一次打印之前完成的迭代次数,控制verbose的输出频率

属性

weights_ : array-like of shape (n_components,)
每个混合模型的权重

means_ : array-like of shape (n_components, n_features)
每个混合模型的均值

covariances_ : array-like
每个混合模型的协方差。矩阵大小取决于covariance_type定义的协方差矩阵类型

(n_components,) if ‘spherical’,
(n_features, n_features) if ‘tied’,
(n_components, n_features) if ‘diag’,
(n_components, n_features, n_features) if ‘full’

precisions_ : array-like
混合模型中每个模型的精度矩阵,精度矩阵是协方差矩阵的逆
形状依赖于covariance_type:

(n_components,) if ‘spherical’,
(n_features, n_features) if ‘tied’,
(n_components, n_features) if ‘diag’,
(n_components, n_features, n_features) if ‘full’

precisions_ cholesky_ : array-like
The cholesky decomposition of the precision matrices of each mixture component
每一个混合模型的精度矩阵的cholesky decomposition
形状依赖于covariance_type:

(n_components,) if ‘spherical’,
(n_features, n_features) if ‘tied’,
(n_components, n_features) if ‘diag’,
(n_components, n_features, n_features) if ‘full’

converged_ : bool
当fit()达到收敛时为True,否则为False

n_iter_ : int
EM达到收敛时迭代次数

lower_bound_ : float
EM达到收敛时,对数似然的下界值

方法

aic(X)
返回当前模型的aic(Akaike information criterion)

bic(X)
返回当前模型的bic(Bayesian information criterion)

fit(X, y=None)
用EM算法估计模型参数
该方法拟合模型n_init次,该方法都会在E步和M步之间迭代max_iter次,直到下界的变化小于tol为止,否则将引发ConvergenceWarning。
如果warm_start为True,则将忽略n_init,并在第一次调用时执行一次初始化。

fit_predict(X, y=None)
使用X估算模型参数并预测X的标签,返回标签

get_params(deep=True)
if deep = True,那么返回这个估计器的参数
返回字典形式的参数映射

predict(X)
使用训练模型预测 X 中数据样本的标签,返回标签

predict_proba(X)
预测给定数据的每个组分的后验概率

sample(n_samples=1)
从拟合的高斯分布生成随机样本

score(X, y=None)
计算给定数据X的每样本平均对数似然

score_samples(X)
计算每个样本的加权对数概率

set_params(**params)
设置该估计器的参数,**params :dict
返回估计实例

官方案例

7.1 API:GaussianMixture相关推荐

  1. node.js入门 - 9.api:http

    node一个重要任务是用来创建web服务,接下来我们就学习与此相关的一个重要的api -- http.我们使用http.createServer()创建一个http服务的实例,用来处理来自客户的请求. ...

  2. Netflix Play API:我们为什么构建了一个演进式架构?

    在QCon SF大会上,Suudhan Rangarajan做了题为"Netflix Play API:我们为什么构建了一个演进式架构"的演讲.他演讲的要点包括:具有单一标识/职责 ...

  3. CV之API:利用Face++的人体识别接口,实现摄像头实时手势识别

    CV之API:利用Face++的人体识别接口,实现摄像头实时手势识别 目录 测试图片 实现代码(部分) 测试图片 实现代码(部分) #利用Face++的人体识别接口,实现摄像头实时手势识别 impor ...

  4. TF学习——TF之API:TensorFlow的高级机器学习API—tf.contrib.learn的简介、使用方法、案例应用之详细攻略

    TF学习--TF之API:TensorFlow的高级机器学习API-tf.contrib.learn的简介.使用方法.案例应用之详细攻略 目录 tf.contrib.learn的简介 tf.contr ...

  5. ML之API:国内外各大人工智能平台(百度云/华为云/阿里云/Face++等)及其API的简介、使用方法之详细攻略

    ML之API:国内外各大人工智能平台(百度云/华为云/阿里云/Face++等)及其API的简介.使用方法之详细攻略 目录 一.百度云api 1.api之CV 二.旷视科技(face++)api 1.a ...

  6. OpenCV 高级API:TextDetectionModel和TextRecognitionModel

    高级API:TextDetectionModel和TextRecognitionModel TextDetectionModel和TextRecognitionModel 介绍 预训练模型 测试图像 ...

  7. api如何使用_记录API:技术作家和工程师指南

    在这门有关编写REST API文档的课程中,我不只是在谈论抽象概念,而是通过直接的动手方法将REST API关联起来.首先,您将通过使用简单的天气API在站点上放置天气预报来了解API文档. 使用AP ...

  8. WEB API:语音识别

    2019独角兽企业重金招聘Python工程师标准>>> x-webkit-speech 语音输入功能: http://www.iinterest.net/2012/01/07/x-w ...

  9. Google API:如何访问Google Analytics(分析)数据?

    在深入研究Google Analytics(分析)API之前,了解一些Google Analytics(分析)术语及其关系总是很有用的. Google帐户:要访问Google Analytics(分析 ...

  10. Java Persistence API:快速入门

    各位读者好! 在我的一些朋友提出无数请求之后,我决定写一篇关于Java Persistence API的简短文章. 面向对象的编程范式是当​​今最流行和使用最广泛的模型,它具有无缝建模现实生活实体的能 ...

最新文章

  1. 安卓应用程序插件化开发框架 -AAP Framework
  2. 信息系统项目管理知识--项目质量管理
  3. UNITY Destroy()和DestroyImadiate()的区别
  4. Loadrunner性能测试结果分析
  5. Javascript 对象二(Number、String、Boolean、Array、Date、Math、RegExp)
  6. webhooks_在本地开发时如何测试Webhooks
  7. 512抗击震灾捐款背后的思考
  8. 第九:Pytest进阶之xunit fixture
  9. 3Dshader之膨胀与收缩
  10. ScrollView和listview的冲突问题,关于宽度,和滑动
  11. 190728每日一句 不经一番寒彻骨 怎得梅花扑鼻香,一个人怎样保持激情去奋斗?
  12. stata 空间杜宾模型_利用STATA创建空间权重矩阵及空间杜宾模型计算----命令
  13. Google Earth Engine——使用climata和Python从USGS获取流数据
  14. 驾驶员理论考试系统的设计与实现(论文+源码)_kaic
  15. 华为 M5680t对HGU ONU配置指导
  16. 阿里云centos6.9搭建ngrok服务器
  17. Mac通过命令行搜索文件
  18. 2008中国无线互联网细分领域排行榜
  19. 差分放大电路在信号传输的作用及设计原理
  20. 论文阅读 (78):FlowNet: Learning Optical Flow with Convolutional Networks

热门文章

  1. 如何在ant脚本中获得svn版本号
  2. 嵌入Windows User Control到ASP.NET web form
  3. 开源项目filepond的独立自由之路:城市套路深
  4. Azure database
  5. translclude
  6. 【33.20%】【LA 4320】【Ping pong】
  7. Jenkins学习之旅
  8. jquery 初步(四)内容过滤器
  9. Linux中的权限管理命令-chmod
  10. spring mvc和spring的区别