我编写了一个代码,给定字典中的一组值,然后执行内核密度估计。我现在正在尝试实施交叉验证以推断这是最佳带宽。我使用以下代码:
for key in LABELs:
grid = GridSearchCV(KernelDensity(kernel = KERNEL),{'bandwidth': np.logspace(-1,1,20)})
grid.fit(LABELs[key])
ker = KernelDensity(kernel=KERNEL,bandwidth=grid.best_estimator_.bandwidth).fit(LABELs[key])
estimators.append(ker)
在LABELs是字典的地方,estimators是该函数产生的KDE的列表。 我的问题是: 为KernelDensity()的每次使用产生带宽是否正确,或者我应该在整个过程中尝试拥有唯一的带宽?此外,带宽到底是多少?据我了解,是内核密度估算背后的一种统计数据,但我真的不知道这是什么。 非常感谢