Untitled

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