gpt4 book ai didi

python - HDBSCAN 和近似预测的问题

转载 作者:行者123 更新时间:2023-12-04 13:37:36 41 4
gpt4 key购买 nike

我想使用 HDBSCAN 聚类技术来预测异常值。我已经训练了我的模型来优化参数,但是,当我对新数据应用近似预测时,我得到了原始模型中不同的集群和标签。我将在这里解释过程流程。

我有一个看起来像这样的数据集:

enter image description here

我应该注意到这个数据集有我人为添加的异常值,目的是优化参数。然后,我申请:

clusterer = hdbscan.HDBSCAN(min_cluster_size=10, gen_min_span_tree=True, 
cluster_selection_epsilon=0.1,min_samples=1,allow_single_cluster=True, prediction_data=True, leaf_size=30)
clusterer.fit(X_scaled)

获取三个簇(包括异常值-1簇):

enter image description here

在这里您可以看到聚类的样子:

enter image description here

在此之后,我创建了一个名为“new_observation”的数据框,它实际上是从原始数据集中获取的一些随机观察结果,我应用了:
test_labels, strengths = hdbscan.approximate_predict(clusterer, new_observation)
test_labels

在这里,我的测试标签看起来像: array([ -1, 56, 150, -1])

这意味着从这些观察中,它检测到两个异常值,以及分配给我没有的集群的两个观察。

此外,看看绘图,如:
from matplotlib import cm
cmap = cm.get_cmap('Set1')
plt.scatter(x='wind_speed',y='temperature',data=X_scaled, c=clusterer.labels_, cmap=cmap)
plt.scatter(x='wind_speed',y='temperature',data=new_observation, c=test_labels, cmap=cmap, s=120)
plt.show()

enter image description here

我们可以观察到我们在不应该有的地方有异常值。

我真的不知道近似预测是如何进行我的聚类,但它似乎不起作用,有人可以帮我吗???

谢谢!!!!

最佳答案

我也有同样的问题。删除 cluster_selection_epsilon 作为参数,仅使用 min_samples 和 min_cluster_size 来调整聚类。它对我有用。

关于python - HDBSCAN 和近似预测的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60815892/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com