pythontile
‘壹’ Python hmmlearn中的混淆矩阵是怎么表示的
hmmlearn这个库有三种模型,分别是Gaussian,Multinomial和GMMHMM。这三种模型对应的就是三种emission matrix(即混淆矩阵,也就是隐状态到观察态的概率)。Gaussian就是说混淆矩阵是一个高斯分布,即观察态是连续的。Multinomiual就是说混淆矩阵事一个Multibimiual distribution,即观察态势离散的。GMMHMM则是说混淆矩阵是遵循gaussinan mixture 分布,也是连续的。
题主问如何把混淆矩阵输入到模型里面。首先你要确定你的混淆矩阵的类型。对于Gaussian类型,就是把你希望的 mean和variance值放到模型里面。我就直接把文档里面的例子搬过来,例子里是建立了一个高斯分布的隐马尔科夫模型。
>>> import numpy as np
>>> from hmmlearn import hmm
#一个隐马尔科夫模型由(p向量,状态转移矩阵,混淆矩阵)来定义。
>>> startprob = np.array([0.6, 0.3, 0.1])
# 定义初始状态的概率
>>> transmat = np.array([[0.7, 0.2, 0.1], [0.3, 0.5, 0.2], [0.3, 0.3, 0.4]])#定义转移矩阵的概率
>>> means = np.array([[0.0, 0.0], [3.0, -3.0], [5.0, 10.0]])
#定义混淆矩阵的均值
>>> covars = np.tile(np.identity(2), (3, 1, 1))# 定义混淆矩阵的方差
>>> model = hmm.GaussianHMM(3, "full", startprob, transmat)# 定义一个混淆矩阵为高斯分布的隐马尔科夫模型。 这里‘full’的意思就是说你输入的方差矩阵每个元素都给出了,不是一个只是对角线上的元素为0的矩阵
>>> model.means_ = means
>>> model.covars_ = covars#把你希望的均值方差输入你定义的模型里面,到此你就把混淆矩阵输入进模型了
>>> X, Z = model.sample(100)
对于Multinomial 和 GMM,我还没用,不过Multinomial应该是需要你自己手动输入隐状态到观察态的概率的,而GMM应该是和Gaussian类型类似,只是需要多输入一个权重因子。
对于第二个问题,covariance_type意思是你的混淆矩阵的covariance matrix是什么类型,比如若只是对角线上的元素不为0,则把covariance_type设为‘diag’。
‘贰’ 如何快速切换电脑的桌面壁纸
1、电脑桌面上,右击桌面,在右击弹出菜单中点击“个性化”,在个性化界面中点击左下角的“桌面背景”
5、还有两个可勾选选项分别是“无序播放”和“使用电池时是否暂停”,你可根据个人喜好自己设置