我正在嘗試將提供的充電電源集中到不同的車輛。
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import DBSCAN
from sklearn.cluster import KMeans, AgglomerativeClustering, DBSCAN, OPTICS, cluster_optics_dbscan
df_temp_12 = list(map(lambda x, y: [x, y], VehicleList, Power))
Eps = 1.3
dbscan_12_object = OPTICS(eps=Eps, cluster_method="dbscan")
dbscan_12 = dbscan_12_object.fit_predict(df_temp_12)
我目前的輸出如下所示:

我試圖主要沿著水平軸進行聚類(如綠色集群所示)。如果您仔細注意到,所有其他集群都沒有以相同的方式(即沿水平方向)聚集,因此我試圖弄清楚我是否可以分別更改沿每個軸的 EPS 值,如果可以,如何?
編輯:在@PlzBePython 的建議之后,輸出看起來像這樣。正是我需要 在這里輸入影像描述
uj5u.com熱心網友回復:
如果您已經知道要沿特定軸進行聚類,為什么不單獨聚類該特征呢?
例如:
data = np.array(Power).reshape((-1, 1))
clusterer = sklearn.cluster.OPTICS(eps=1.3, cluster_method="dbscan")
clustered_data = clusterer.fit(data).labels_
否則,我會嘗試在沒有引數的情況下創建 OPTICS(默認是識別所有規模的集群)
clusterer = sklearn.cluster.OPTICS()
或使用高斯混合。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/462412.html
