如何在sklearn GMM中获得每次迭代的对数似然性?

阿尼尔·亚达夫(Anil yadav)

我正在尝试在sklearn中拟合GMM,但我发现模型在第3阶段收敛,但是我似乎无法访问在每个第3阶段计算的对数似然分数。

from sklearn.mixture import GaussianMixture
gmm = GaussianMixture(n_components=4, tol=1e-8).fit(data)

有没有办法以某种方式访问​​每个时期的对数似然分数?

笨狼

如果您只想查看loglik分数,则可以设置verbose=2以loglik打印并verbose_interval=1在每个步骤中捕获它:

from sklearn.mixture import GaussianMixture
gmm = GaussianMixture(n_components=3, tol=1e-8,verbose=2,verbose_interval=1)
gmm.fit(data)

Initialization 0
  Iteration 1    time lapse 0.00560s     ll change inf
  Iteration 2    time lapse 0.00134s     ll change 0.03655
  Iteration 3    time lapse 0.00119s     ll change 0.00867
  Iteration 4    time lapse 0.00118s     ll change 0.00619
  Iteration 5    time lapse 0.00116s     ll change 0.00612
  Iteration 6    time lapse 0.00125s     ll change 0.00647
  Iteration 7    time lapse 0.00128s     ll change 0.00700
  Iteration 8    time lapse 0.00127s     ll change 0.00727
  Iteration 9    time lapse 0.00126s     ll change 0.00673
  Iteration 10   time lapse 0.00117s     ll change 0.00604
  Iteration 11   time lapse 0.00109s     ll change 0.00530
  Iteration 12   time lapse 0.00125s     ll change 0.00431
  Iteration 13   time lapse 0.00121s     ll change 0.00366
  Iteration 14   time lapse 0.00123s     ll change 0.00404
  Iteration 15   time lapse 0.00130s     ll change 0.00361
  Iteration 16   time lapse 0.00118s     ll change 0.00157
  Iteration 17   time lapse 0.00124s     ll change 0.00048
  Iteration 18   time lapse 0.00126s     ll change 0.00015
  Iteration 19   time lapse 0.00115s     ll change 0.00005
  Iteration 20   time lapse 0.00116s     ll change 0.00001
  Iteration 21   time lapse 0.00124s     ll change 0.00000
  Iteration 22   time lapse 0.00122s     ll change 0.00000
  Iteration 23   time lapse 0.00142s     ll change 0.00000
  Iteration 24   time lapse 0.00126s     ll change 0.00000
  Iteration 25   time lapse 0.00124s     ll change 0.00000
  Iteration 26   time lapse 0.00122s     ll change 0.00000
  Iteration 27   time lapse 0.00120s     ll change 0.00000
Initialization converged: True   time lapse 0.03765s     ll -1.20124

要实际捕获此值,具体取决于您使用的是什么,您可以logging在jupyter笔记本中使用或例如下面将其写入日志,这可能会起作用:

%%capture cap --no-stderr
gmm.fit(data)

然后我们将其传递到数据帧中,然后尝试回算可能性:

res = pd.DataFrame([i.split() for i in cap.stdout.split("\n")]).iloc[:,[1,7]]
res.columns = ['iteration','change']
res.change = res.change.astype('float64')
res = res[np.isfinite(res.change)]
res['logLik'] = res['change'].values[-1]
res.loc[:len(res),['logLik']] = -res.change[:-1][::-1].cumsum()[::-1] + res.change.values[-1]
res


    iteration   change  logLik
2   2   0.03655 -1.31546
3   3   0.00867 -1.27891
4   4   0.00619 -1.27024
5   5   0.00612 -1.26405
6   6   0.00647 -1.25793
7   7   0.00700 -1.25146
8   8   0.00727 -1.24446
9   9   0.00673 -1.23719
10  10  0.00604 -1.23046
11  11  0.00530 -1.22442
12  12  0.00431 -1.21912
13  13  0.00366 -1.21481
14  14  0.00404 -1.21115
15  15  0.00361 -1.20711
16  16  0.00157 -1.20350
17  17  0.00048 -1.20193
18  18  0.00015 -1.20145
19  19  0.00005 -1.20130
20  20  0.00001 -1.20125
21  21  0.00000 -1.20124
22  22  0.00000 -1.20124
23  23  0.00000 -1.20124
24  24  0.00000 -1.20124
25  25  0.00000 -1.20124
26  26  0.00000 -1.20124
27  27  0.00000 -1.20124
28  converged:  -1.20124    -1.20124

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在字典中存储sklearn管道?

来自分类Dev

交叉验证的递归特征消除如何在每次迭代中删除特征(sklearn RFECV)?

来自分类Dev

如何在R中编码多参数对数似然函数

来自分类Dev

如何在R中编写多参数对数似然函数

来自分类Dev

如何在sklearn中的RandomForest中的不同迭代中获得相同的结果

来自分类Dev

如何在sklearn中获得关于隔离林的顶级预测

来自分类Dev

如何获得指数和伽马分布的对数似然

来自分类Dev

如何在Sklearn中重新拟合最佳分类器

来自分类Dev

如何在python中从sklearn训练多次SVM分类器?

来自分类Dev

如何在sklearn中打印聚类结果

来自分类Dev

如何在sklearn管道中适应不同的输入?

来自分类Dev

如何在sklearn中缩放单个样本以进行预测?

来自分类Dev

如何在sklearn中重新拟合最佳分类器

来自分类Dev

如何在 sklearn 中构建大小大致平衡的集群

来自分类Dev

如何在STAN中运行最大似然优化(BFGS)?

来自分类Dev

如何在Sklearn中获得Roc Auc进行二进制分类

来自分类Dev

如何在任何分类器Sklearn中获得最有帮助的功能,例如DecisionTreeClassifier knn等

来自分类Dev

如何在sklearn中的每个交叉验证模型中计算特征重要性

来自分类Dev

如何在sklearn中进行交叉验证时获得预测结果

来自分类Dev

如何在sklearn管道中的RobustScaler中调整Quantile_range?

来自分类Dev

sklearn中的KNN-如何在类中适当使用KNeighborsRegressor?

来自分类Dev

如何在scikit-learn中根据自己的数据创建sklearn.datasets.base.Bunch对象?

来自分类Dev

如何在sklearn中编写自定义估算器并在其上使用交叉验证?

来自分类Dev

如何在Sklearn Ensamble中查看adaboost分类器的每个基本估计量的预测

来自分类Dev

如何在sklearn高斯过程回归使用的优化函数中更改max_iter?

来自分类Dev

如何在自定义转换器中访问sklearn列转换器

来自分类Dev

如何在sklearn中对不平衡数据集执行交叉验证

来自分类Dev

如何在sklearn中编写自定义估算器并在其上使用交叉验证?

来自分类Dev

如何在sklearn.svm.libsvm.fit()分类器中包括列表类型功能?

Related 相关文章

  1. 1

    如何在字典中存储sklearn管道?

  2. 2

    交叉验证的递归特征消除如何在每次迭代中删除特征(sklearn RFECV)?

  3. 3

    如何在R中编码多参数对数似然函数

  4. 4

    如何在R中编写多参数对数似然函数

  5. 5

    如何在sklearn中的RandomForest中的不同迭代中获得相同的结果

  6. 6

    如何在sklearn中获得关于隔离林的顶级预测

  7. 7

    如何获得指数和伽马分布的对数似然

  8. 8

    如何在Sklearn中重新拟合最佳分类器

  9. 9

    如何在python中从sklearn训练多次SVM分类器?

  10. 10

    如何在sklearn中打印聚类结果

  11. 11

    如何在sklearn管道中适应不同的输入?

  12. 12

    如何在sklearn中缩放单个样本以进行预测?

  13. 13

    如何在sklearn中重新拟合最佳分类器

  14. 14

    如何在 sklearn 中构建大小大致平衡的集群

  15. 15

    如何在STAN中运行最大似然优化(BFGS)?

  16. 16

    如何在Sklearn中获得Roc Auc进行二进制分类

  17. 17

    如何在任何分类器Sklearn中获得最有帮助的功能,例如DecisionTreeClassifier knn等

  18. 18

    如何在sklearn中的每个交叉验证模型中计算特征重要性

  19. 19

    如何在sklearn中进行交叉验证时获得预测结果

  20. 20

    如何在sklearn管道中的RobustScaler中调整Quantile_range?

  21. 21

    sklearn中的KNN-如何在类中适当使用KNeighborsRegressor?

  22. 22

    如何在scikit-learn中根据自己的数据创建sklearn.datasets.base.Bunch对象?

  23. 23

    如何在sklearn中编写自定义估算器并在其上使用交叉验证?

  24. 24

    如何在Sklearn Ensamble中查看adaboost分类器的每个基本估计量的预测

  25. 25

    如何在sklearn高斯过程回归使用的优化函数中更改max_iter?

  26. 26

    如何在自定义转换器中访问sklearn列转换器

  27. 27

    如何在sklearn中对不平衡数据集执行交叉验证

  28. 28

    如何在sklearn中编写自定义估算器并在其上使用交叉验证?

  29. 29

    如何在sklearn.svm.libsvm.fit()分类器中包括列表类型功能?

热门标签

归档