![](/img/trans.png)
[英]Error: Number of labels is 1. Valid values are 2 to n_samples - 1 (inclusive)
[英]ValueError: Number of labels is 1. Valid values are 2 to n_samples - 1 (inclusive)
我正在嘗試手動網格搜索 eps 和 min_samples,但我不斷收到錯誤“ValueError: Number of labels is 1. Valid values are 2 to n_samples - 1 (inclusive)”。 我不確定什么價值有問題以及為什么。
這是我的代碼:
result = []
epses = [ 0.1, 0.2, 0.3, 0.4]
min_samples = [10, 20, 30]
for v in epses:
for n in min_samples:
model = DBSCAN(eps = v, min_samples = n)
y_pred_temp = model.fit_predict(X)
n_clusters = np.unique(model.labels_).size
score = metrics.silhouette_score(X, y_pred_temp,metric = 'euclidean')
result.append((v, n, score, n_clusters))
回溯(最近一次調用最后一次):
File "<ipython-input-68-598d3e8f0626>", line 7, in <module>
score = metrics.silhouette_score(X, y_pred_temp,metric = 'euclidean')
File "C:\Users\Sofia\anaconda3\lib\site-packages\sklearn\utils\validation.py", line 73, in inner_f
return f(**kwargs)
File "C:\Users\Sofia\anaconda3\lib\site-packages\sklearn\metrics\cluster\_unsupervised.py", line 117, in silhouette_score
return np.mean(silhouette_samples(X, labels, metric=metric, **kwds))
File "C:\Users\Sofia\anaconda3\lib\site-packages\sklearn\utils\validation.py", line 73, in inner_f
return f(**kwargs)
File "C:\Users\Sofia\anaconda3\lib\site-packages\sklearn\metrics\cluster\_unsupervised.py", line 229, in silhouette_samples
check_number_of_labels(len(le.classes_), n_samples)
File "C:\Users\Sofia\anaconda3\lib\site-packages\sklearn\metrics\cluster\_unsupervised.py", line 34, in check_number_of_labels
raise ValueError("Number of labels is %d. Valid values are 2 "
ValueError: Number of labels is 1. Valid values are 2 to n_samples - 1 (inclusive)
當所有點都在同一個集群中時,輪廓分數沒有定義。 要么使用不同的指標進行模型選擇,要么過濾掉n_clusters == 1
的模型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.