Untitled

 avatar
unknown
python
2 years ago
958 B
3
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