Untitled
unknown
python
2 years ago
943 B
9
Indexable
import numpy as np
import matplotlib.pyplot as plt
from sklearn.neighbors import NearestNeighbors
# Generar datos de ejemplo
np.random.seed(42)
X = np.random.rand(100, 2)
# Definir el valor de k para el k-ésimo vecino más cercano
k = 3
# Calcular distancias al k-ésimo vecino más cercano
nbrs = NearestNeighbors(n_neighbors=k+1).fit(X)
distances, _ = nbrs.kneighbors(X)
# Seleccionar las distancias al k-ésimo vecino más cercano (última columna)
kth_distances = distances[:, -1]
# Ordenar las distancias
sorted_distances_indices = np.argsort(kth_distances)
sorted_distances = kth_distances[sorted_distances_indices]
# Crear el gráfico
plt.figure(figsize=(10, 6))
plt.plot(sorted_distances, marker='o', linestyle='-', color='b')
plt.title(f'Distancias al {k}-ésimo vecino más cercano')
plt.xlabel('Puntos ordenados por distancia')
plt.ylabel(f'Distancia al {k}-ésimo vecino más cercano')
plt.show()Editor is loading...
Leave a Comment