我正在对数据集执行均值平移聚类。estimate_bandwidth 函数估计执行均值漂移聚类的适当带宽。
句法:
sklearn.cluster.estimate_bandwidth(X, quantile=0.3, n_samples=None, random_state=0)
Run Code Online (Sandbox Code Playgroud)
我发现估计的带宽随着分位数的增加而增加,从而导致簇数量减少。类似地,分位数的减少会减少带宽,从而导致更高的数量。簇。
所以,看来不行。簇的数量取决于所选的分位数值。
如何选择最佳分位数?
我使用包中的lmer()函数构建了一个混合效果模型lme4。由于lme4某些很好的哲学原因,该包不输出系数的 p 值。但是,我仍然需要在我的出版物中报告 p 值。我知道有多种方法可以使用由创建的模型来计算 p 值lmer(),例如这里。
我的问题是:我想使用包中的tidy()函数提取 p 值broom。在这里,我真的很想坚持,tidy()因为我想维护以下管道:
data_frame %>% group_by(grouping variables) %>% do(tidy(fitted_model))
Run Code Online (Sandbox Code Playgroud)
一种选择是创建一个自定义函数并将其附加到管道中。但是,该broom软件包的手册页(http://rpackages.ianhowson.com/cran/broom/man/lme4_tidiers.html)说:
"p.value P-value computed from t-statistic (may be missing/NA)".
Run Code Online (Sandbox Code Playgroud)
通过这个,我假设一个从 lmer 模型给出的 t 值计算 p 值的函数已经在 broom 中实现了。所以,我不愿意重新发明轮子。
问题是我根本没有得到名为 p.value 的列。我期待一个名为 p.value 的列,其中 NA 作为最坏的情况。
代码:
library(lme4)
library(broom)
lme <- lmer(Reaction ~ Days + (1 + Days | Subject), sleepstudy)
tidy(lme)
tidy(lme, effects = …Run Code Online (Sandbox Code Playgroud)