我是基于TF-以色列国防军特征和DBSCAN (基于密度)对文本进行聚类,并试图根据它们对集群的“归属”对它们进行排序。因为我的聚类是基于密度的,而且我的点可以非常随机地传播,所以我发现核密度估计相关。
然而,KDE的得分对带宽超参数的选择非常敏感,这是我无法预先估计的。大多数带宽值的结果是,集群之外的点数为无穷大的分数,集群中的点数为零。我需要一种“自动”选择带宽的方法,这样我的结果就能得出对集群中的点数(较大的值)和外部的点数(较小的值)有意义的分数。
我试过:
从bandwidth=0.399).fit(X_tfidf文档.todense())导入cluster3文档中分数的KernelDensity #索引= np.where(y_pred == 3)0 kde =KernelDensity(内核=‘gaussian’),cluster3#评估分数=np.exp(kde.score_samples(X_tfidf.todense()
请注意,在TF-以色列国防军中有2200个特征,KDE在每个集群中有几十个点(40-120),总共大约有4000点。
任何关于任何事情(甚至KDE之外)的想法都是受欢迎的,谢谢。
发布于 2018-01-22 11:07:18
GridSearchCV返回网格中的最小带宽
然后修改网格,使其具有较低的下限。
https://datascience.stackexchange.com/questions/26913
复制相似问题