DBSCAN聚類效果不穩定問題

2021-10-10 04:25:02 字數 2016 閱讀 3803

dbscan聚類演算法含義:

dbscan聚類引數主要有這兩個:eps  和  min_******s

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最優聚類引數不穩定的情況:

左圖:輪廓係數評價聚類的好壞,值越大越好          右圖:計算雜訊點個數佔總數的比例,值越小越好

分析原因:

測試圖未進行統一:將三個測試圖統一到統一亮度、色度。**:            結果:未使得優化

訓練集含有多種不同型別的物件,對應的標籤:重新進行標籤訓練。結果:未使得優化

。。。。。分析中

Qt串列埠接收資料長度不穩定問題

最近在做乙個實時接收資料的專案,需要每2ms接收下位機發來的兩幀資料,算是串列埠高速接收。在使用的過程中,發現串列埠接收的資料長度不穩定,有時長有時短。如下 connect serial,signal readyread this,slot serial receive 然後在槽函式裡 serial...

部分新iPhone出現訊號不穩定問題 不如老機器

程式設計驛站 chinaz.com 9月27日 訊息 去年,蘋果推出了iphone x之後,有部分使用者反應其訊號出現了不穩定的情程式設計客棧況。蘋果隨之通過ios軟體的更新進行了多次修復。然而今年最新一代ipho推出之後,也並沒有避ysxmzhdnn免 訊號門 的問題。近日,有國外 反應,部分國外...

關於打遊戲ping值不穩定問題的解決經歷(疑難篇)

接著,我把試著用網線連線電腦,通過撥號上網,發現,這時候打遊戲就不會出現跳ping的情況了,於是我開始猜測是我的電腦硬體出了問題,打算找時間去修理一下,可是就在剛才,我再次嘗試看看自己能不能解決這個問題,如果實在解決不了再送去售後維修,結果,誤打誤撞的解決了,下面我是怎麼解決這個問題的。首先,我並沒...