Untitled
unknown
python
2 years ago
958 B
5
Indexable
import numpy as np
import matplotlib.pyplot as plt
from sklearn.neighbors import NearestNeighbors
from sklearn.cluster import DBSCAN
from sklearn.datasets import make_blobs
# Generar datos de ejemplo
X, _ = make_blobs(n_samples=300, centers=3, random_state=42)
# Calcular las distancias de cada punto a su k-ésimo vecino más cercano
k = 4 # Puedes ajustar este valor según tus necesidades
nbrs = NearestNeighbors(n_neighbors=k).fit(X)
distances, indices = nbrs.kneighbors(X)
# Obtener las distancias al k-ésimo vecino más cercano
kth_distances = distances[:, -1]
# Ordenar las distancias
sorted_distances = np.sort(kth_distances)
# Plotear las distancias ordenadas
plt.figure(figsize=(10, 6))
plt.plot(sorted_distances, marker='o', linestyle='-', color='b')
plt.title(f'Sorted Distances to {k}-th Nearest Neighbor')
plt.xlabel('Data Points')
plt.ylabel(f'Distance to {k}-th Nearest Neighbor')
plt.grid(True)
plt.show()
Editor is loading...
Leave a Comment