DBSCAN聚类效果不稳定问题

DBSCAN聚类算法含义:

https://blog.csdn.net/lys_828/article/details/108702381


DBSCAN聚类参数主要有这两个:eps  和  min_simples


DBSCAN调参可视化部分:

# 测试调参部分
mask_test1 = np.zeros(shape=(round((1.0 - 0.05) / 0.05), round((1500 - 50) / 50)), dtype=np.float32)
mask_test2 = np.zeros(shape=(round((1.0 - 0.05) / 0.05), round((1500 - 50) / 50)), dtype=np.float32)
# 存放各个参数的组合计算出来的模型评估得分和噪声比 # 注意浮点数int计算时末尾为x.99999
for i in tqdm.tqdm(np.arange(0.05, 1.0, 0.05), total=len(np.arange(0.05, 1.0, 0.05))):
    for j in np.arange(50, 1500, 50):
        try:  # 因为不同的参数组合,有可能导致计算得分出错,所以用try
            features = StandardScaler().fit_transform(get_lane_embedding_feats_result['lane_embedding_feats'])
            db = DBSCAN(eps=i, min_samples=j).fit(features)
            labels = db.labels_  # 得到DBSCAN预测的分类便签
            k = metrics.silhouette_score(features, labels)  # 轮廓系数评价聚类的好坏,值越大越好
            raito = len(labels[labels[:] == -1]) / len(labels)  # 计算噪声点个数占总数的比例
            n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)  # 获取分簇的数目
            mask_test1[int(round((i - 0.05) / 0.05))][int(round((j - 50) / 50))] = k
            mask_test2[int(round((i - 0.05) / 0.05))][int(round((j - 50) / 50))] = raito
        except:
            mask_test1[int(round((i - 0.05) / 0.05))][int(round((j - 50) / 50))] = 0.0
            mask_test2[int(round((i - 0.05) / 0.05))][int(round((j - 50) / 50))] = 1.0
plt.figure('mask_test1')
plt.imshow(mask_test1 * 255, cmap='gray')
plt.figure('mask_test2')
plt.imshow(mask_test2 * 255, cmap='gray')
plt.show()
plt.pause(5)

在使用训练得到的模型进行测试的过程中,聚类时遇到DBSCAN最优聚类参数不稳定的情况:

                         左图:轮廓系数评价聚类的好坏,值越大越好          右图:计算噪声点个数占总数的比例,值越小越好

 分析原因:

  1. 测试图未进行统一:将三个测试图统一到统一亮度、色度。代码:https://blog.csdn.net/qq_36638362/article/details/109311353            结果:未使得优化
  2. 训练集含有多种不同类型的对象,对应的标签:重新进行标签训练。结果:未使得优化
  3. 。。。。。分析中
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大臉喵愛吃魚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值