Python隐马尔可夫hmmlearn模块官方文档中文翻译 优快云
学习记录,如有错误,万望指点
-
GaussianHMM
-
class hmmlearn.hmm.GaussianHMM
hmmlearn.hmm.GaussianHMM(n_components=1, covariance_type='diag', min_covar=0.001, startprob_prior=1.0, transmat_prior=1.0, means_prior=0, means_weight=0, covars_prior=0.01, covars_weight=1, algorithm='viterbi', random_state=None, n_iter=10, tol=0.01, verbose=False, params='stmc', init_params='stmc')
符合高斯分布的隐马尔可夫模型(Hidden Markov Model)
-
参数
参数 数据类型 意义 n_components int 状态数目 covariance_type string, optional 字符串描述所用协方差参数类型,必须是下述之一:
- spherical : 每个状态用一个用于所有特征的方差值
- diag : 每个状态用一个对角协方差矩阵
- full : 每个状态用一个全(即无限制)协方差矩阵
- tied : 所有状态用相同的全协方差矩阵
默认diagmin_covar float, optional 协方差矩阵对角线的基底,用来防止过拟合。默认1e-3 startprob_prior array, shape (n_components, ), optional startprob_
用的Dirichlet先验分布的参数transmat_prior array, shape (n_components, n_components), optional transmat_
转移概率每行的Dirichlet先验分布参数means_weight means_prior, means_
中正态先验分布的均值和精度covars_weight covars_prior, 所有协方差矩阵 covars_
的先验分布参数。
如果covariance_type
is “spherical” or “diag”,先验分布是逆gamma分布,否则是逆Wishart分布algorithm string, optional 解码器算法。只能是“viterbi” or`”map”,默认“viterbi” random_state RandomState or an int seed, optional 一个随机数发生器实例 n_iter int, optional 要执行的最大迭代数 tol float, optional 收敛阈值。如果对数似然的增益低于这个值,EM会停止 verbose bool, optional 如果True,每轮迭代的收敛报告会输出发哦sys.stderr。你可以通过 monitor_
属性判定收敛params string, optional 控制训练过程中是哪些参数更新。可以包含下述任意组合:‘s’ for startprob, ‘t’ for transmat, ‘m’ for means and ‘c’ for covars.默认全部参数 init_params string, optional 控制训练之前初始化哪些参数。可以包含下述任意组合:‘s’ for startprob, ‘t’ for transmat, ‘m’ for means and ‘c’ for covars.默认全部参数 -
属性
属性 数据类型 意义 n_features int 高斯分布的维度 monitor_ ConvergenceMonitor 用于检查EM收敛的监视器(Monitor)对象 transmat_ array, shape (n_components, n_components) 状态间的转移概率矩阵 startprob_ array, shape (n_components, ) 初始的状态分布 means_ array, shape (n_components, n_features) 每个状态的平均参数 covars_ array 每个状态的协方差参数,形状取决于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” -
示例
>>> from hmmlearn.hmm import GaussianHMM >>> GaussianHMM(n_components=2) ... #doctest: +ELLIPSIS +NORMALIZE_WHITESPACE GaussianHMM(algorithm='viterbi',...
-
方法
-
decode(X, lengths=None, algorithm=None)
找出最可能与X对应的状态序列
参数 数据类型 意义 X array-like, shape (n_samples, n_features) 个体样本的特征矩阵 lengths array-like of integers, shape (n_sequences, ), optional X中个体序列的长度,其总和应为 n_samples
algorithm string 解码器算法,必须是“ viterbi
” or “map
”,如果没有指定则用decoder
返回 数据类型 意义 logprob float 所生成状态序列的对数概率 state_sequence array, shape (n_samples, ) 依据 algorithm
加密器获得的X中每个样本的标签 -
fit(X, lengths=None)
估算模型参数
进入EM算法之前执行的初始化步骤。如果你想获得参数集的子集以避免这一步,可以通过init_params传递关键字参数给评估构造器。
参数 数据类型 意义 X array-like, shape (n_samples, n_features) 个体样本的特征矩阵 lengths array-like of integers, shape (n_sequences, ) X中个体序列的长度。其总和是 n_samples
返回 数据类型 意义 self object self -
get_stationary_distribution()
计算状态的平稳分布
-
predict(X, lengths=None)
找出与X最一致的状态序列
参数 数据类型 意义 X array-like, shape (n_samples, n_features) 个体样本的特征矩阵 lengths array-like of integers, shape (n_sequences, ) X中个体序列的长度。其总和是 n_samples
返回 数据类型 意义 state_sequence array, shape (n_samples, ) X中每个样本的标签 -
predict_proba(X, lengths=None)
计算模型中每个状态的后验概率
参数 数据类型 意义 X array-like, shape (n_samples, n_features) 个体样本的特征矩阵 lengths array-like of integers, shape (n_sequences, ) X中个体序列的长度。其总和是 n_samples
返回 数据类型 意义 posteriors array, shape (n_samples, n_components) X中每个样本的状态成员概率 -
sample(n_samples=1, random_state=None)
从模型中生成随机样本
参数 数据类型 意义 n_samples int 生成样本的数量 random_state RandomState or an int seed 一个随机数生成器示例。如果是 None
,使用对象的random_state
返回 数据类型 意义 X array, shape (n_samples, n_features) 特征矩阵 state_sequence array, shape (n_samples, ) 此模型生成的状态系列 -
score(X, lengths=None)
计算模型下的对数概率
参数 数据类型 意义 X array-like, shape (n_samples, n_features) 单个样本的特征矩阵 lengths array-like of integers, shape (n_sequences, ), optional X中单序列的长度,其和应该是 n_samples
返回 数据类型 意义 logprob float 特X的对数似然 -
score_samples(X, lengths=None)
计算模型下的对数似然,并计算后验概率
参数 数据类型 意义 X array-like, shape (n_samples, n_features) 单个样本的特征矩阵 lengths array-like of integers, shape (n_sequences, ), optional X中单序列的长度,其和应该是 n_samples
返回 数据类型 意义 logprob float 特X的对数似然 posteriors array, shape (n_samples, n_components) X中每个样本的状态成员概率
-
-
GMMHMM
-
class hmmlearn.hmm.GMMHMM
hmmlearn.hmm.GMMHMM(n_components=1, n_mix=1, min_covar=0.001, startprob_prior=1.0, transmat_prior=1.0, weights_prior=1.0, means_prior=0.0, means_weight=0.0, covars_prior=None, covars_weight=None, algorithm='viterbi', covariance_type='diag', random_state=None, n_iter=10, tol=0.01, verbose=False, params='stmcw', init_params='stmcw')
高斯混合分布的隐马尔可夫模型
-
MultinomialHMM
-
class hmmlearn.hmm.MultinomialHMM
hmmlearn.hmm.MultinomialHMM(n_components=1, startprob_prior=1.0, transmat_prior=1.0, algorithm='viterbi', random_state=None, n_iter=10, tol=0.01, verbose=False, params='ste', init_params='ste')
多项式(离散)分布的隐马尔可夫模型