正确计算BIC以确定K的K均值

时间:2018-04-22 19:35:17

标签: python scikit-learn k-means data-science bayesian

我正在尝试在python中计算BIC。在python中,没有用于计算BIC的内置库。我进一步引用了以下链接来计算方差和BIC: - https://stats.stackexchange.com/questions/90769/using-bic-to-estimate-the-number-of-k-in-kmeans?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa 最高投票答案中给出的方差公式对我的代码设计不起作用,因为中心是一个二维数组,在我的例子中它是一个单维数组。所以我将链接中给出的方差公式转换为计算,但我知道它不是正确的方法。 这是我的python代码: -

np.sum([n[i] * np.log(n[i]) -
               n[i] * np.log(N) -
             ((n[i] * d) / 2) * np.log(2*np.pi*cl_var) -
             ((n[i] - 1) * d/ 2) for i in range(m)]) - const_term

任何人都可以指出计算方差的正确方法吗? 此外,如果有人能够向我解释BIC的计算以及上述链接中最高投票答案中提到的const术语的使用,那将是很棒的: -

SQL> WITH t (s)
  2  AS (SELECT 'Hello Tom
  3  Where are you
  4  What''s your name'
  5      FROM DUAL
  6      )
  7  select replace(s, chr(10), ',') result
  8  from t;

RESULT
----------------------------------------
Hello Tom,Where are you,What's your name

SQL>

0 个答案:

没有答案