python分析集聚程度 水平聚集密集資料點

2021-10-18 14:54:16 字數 1551 閱讀 7645

我在乙個2d numpy陣列中有一組大約34000個資料標籤,它們各自的特徵(狀態概率)被視覺化為散點圖,看起來是

很容易看到b點的大部分資料。我想用聚類演算法來提取底部區域。我不追求完美的結果。這只是關於提取大多數b點。在

到目前為止,我已經嘗試了dbscan演算法:import sklearn.cluster as sklc

data1, data2 = zip(*dist_list[1])

data = np.array([data1, data2]).t

core_samples, labels_db = sklc.dbscan(

data, # array has to be (n_samples, n_features)

eps=2.0,

min_samples=5,

metric='euclidean',

algorithm='auto'

core_samples_mask = np.zeros_like(labels_db, dtype=bool)

core_samples_mask[core_samples] = true

unique_labels = set(labels_db)

n_clusters_ = len(unique_labels) - (1 if -1 in labels_db else 0)

colors = plt.cm.spectral(np.linspace(0, 1, len(unique_labels)))

for k, col in zip(unique_labels, colors):

if k == -1:

# black used for noise.

col = 'k'

class_member_mask = (labels_db == k)

xy = data[class_member_mask & core_samples_mask]

plt.plot(xy[:, 0], xy[:, 1], 'o', marke***cecolor=col, markeredgecolor='k', markersize=6)

xy = data[class_member_mask & ~core_samples_mask]

plt.plot(xy[:, 0], xy[:, 1], 'x', marke***cecolor=col, markeredgecolor='k', markersize=4)

plt.rcparams["figure.figsize"] = (15, 15)

plt.title('estimated number of clusters: %d' % n_clusters_)

plt.show()

產生增加最小樣本量只會導致更小的垂直線被歸類為雜訊,而更長(更密集)的垂直線會停留。在

我還嘗試使用scipy.cluster.hierarchy進行群集:

^$這導致了類似的垂直分類。請檢視該圖的注釋。以我的聲譽,我不允許發布超過兩個鏈結。在

現在我的問題是,我在校準演算法時犯了錯誤嗎?或者我選擇的演算法一開始就錯了?如何提取b資料點的密集區域?在

bug程度分析

此欄位描述 bug 的嚴重等級。blocker,critical,major,normal,minor,trivial,enhancement blocker 會擋掉所有開發中 測試中的工作 critical 系統發生 crash 資料遺失 嚴重的記憶體流失 major 功能出現較大型的問題 nor...

主機繁忙程度分析製作過程

主機繁忙程度表 這是乙個常見的能夠衡量一台機器的繁忙程度的報表。看似簡單,也就是一張報表當中放置了多個圖表。但實際上由於資料庫的單錶資料量近億,直接取資料幾乎是不可能的。並且由於資料庫表並不算科學,也就是要要做這個表,需要從四張不同的資料庫表當中取資料。我埋頭查了好久,才算把這個sql搞定,貢獻出來...

中國的LAMP普及程度處於世界最低水平

中國的lamp普及程度處於世界最低水平,中國的開源社群也是沒什麼活力。前半句有nexen.net的 php statistics for april 2006 為證,後半句是個人感覺,有點無奈。不用說歐美國家,看看日本,印度,南韓甚至台灣的lamp普及程度,我們是否該思考點什麼呢?這些天在組織zen...