我在乙個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...