Biểu đồ khoảng cách Knn để xác định eps của DBSCAN


9

Tôi muốn sử dụng biểu đồ khoảng cách knn để có thể tìm ra giá trị eps nào tôi nên chọn cho thuật toán DBSCAN. Dựa trên này trang:

Ý tưởng là để tính toán, trung bình khoảng cách của mọi điểm đến k lân cận gần nhất của nó. Giá trị của k sẽ được chỉ định bởi người dùng và tương ứng với MinPts. Tiếp theo, các khoảng cách k này được vẽ theo thứ tự tăng dần. Mục đích là để xác định đầu gối đầu mối, tương ứng với tham số eps tối ưu.

Sử dụng python với numpy / sklearn, tôi có các điểm sau, với khoảng cách sau cho 6-knn:

X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
nbrs = NearestNeighbors(n_neighbors=len(X)).fit(X)
distances, indices = nbrs.kneighbors(X)

# Indices

[[0 1 2 3 4 5]
 [1 0 2 3 4 5]
 [2 1 0 3 4 5]
 [3 4 5 0 1 2]
 [4 3 5 0 1 2]
 [5 4 3 0 1 2]]

# Distances
[[ 0.          1.          2.23606798  2.82842712  3.60555128  5.        ]
[ 0.          1.          1.41421356  3.60555128  4.47213595  5.83095189]
[ 0.          1.41421356  2.23606798  5.          5.83095189  7.21110255]
[ 0.          1.          2.23606798  2.82842712  3.60555128  5.        ]
[ 0.          1.          1.41421356  3.60555128  4.47213595  5.83095189]
[ 0.          1.41421356  2.23606798  5.          5.83095189  7.21110255]]

sau đó tôi tính khoảng cách trung bình:

distances.mean()
2.9269575028354495

Vấn đề là tôi không hiểu chính xác làm thế nào tôi có thể biểu diễn cùng một âm mưu với chúng với khoảng cách theo trục y và số điểm theo khoảng cách trên trục x bằng python.

Cảm ơn sự giúp đỡ của bạn.


! [nhập mô tả hình ảnh ở đây ] ( i.stack.imgur.com/KFDbs.png ) Tại sao biểu đồ điểm lân cận của tôi có hình dạng này? Làm ơn giúp tôi!!!
Dũng Lê

Câu trả lời:


8

Bạn

  1. lấy cột cuối cùng của ma trận đó
  2. sắp xếp giảm dần
  3. chỉ số cốt truyện, khoảng cách
  4. hy vọng nhìn thấy một đầu gối (nếu khoảng cách không hoạt động tốt. có thể không có)

Trên cùng một cốt truyện, tôi làm điều này cho k khác nhau? hoặc chỉ một k cho một âm mưu như trong ví dụ? và ý nghĩa của "chỉ số"
Marc Lamberti

Sử dụng 6NN khi bạn chỉ có 6 điểm tất nhiên là vô nghĩa. Làm điều đó cho một k thích hợp. Chỉ mục như trong "chỉ số mảng". bởi vì bạn cần 2d để cốt truyện.
Có QUIT - Anony-Mousse

Và tôi chỉ sử dụng cột cuối cùng của ma trận khoảng cách. Bởi vì trong ví dụ họ nói về khoảng cách trung bình ..
Marc Lamberti

Bài đăng đó không chính xác ở đó ở ít nhất một nơi khác (bạn không cần đặt hạt giống)
Có QUIT - Anony-Mousse

1
Bạn chỉ có một k. Tại sao bạn không sử dụng giấy DBSCAN. nhưng mash-up các trang web chất lượng thấp khác nhau?
Có QUIT - Anony-Mousse
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.