Compartir tecnología

Explorando el secreto de la proximidad: aplicación del algoritmo K-vecino más cercano (KNN) en SKlearn

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Explorando el secreto de la proximidad: aplicación del algoritmo K-vecino más cercano (KNN) en SKlearn

En el mundo del aprendizaje automático, el algoritmo K-Nearest Neighbors (KNN) es conocido por su simplicidad e intuición. KNN es un método básico de clasificación y regresión, y su principio de funcionamiento es muy fácil de entender: predecir a qué categoría o valor pertenece un nuevo punto de datos midiendo la distancia entre diferentes valores de características. Scikit-learn (sklearn para abreviar), como biblioteca de aprendizaje automático ampliamente utilizada en Python, proporciona la implementación del algoritmo KNN. Este artículo presentará en detalle cómo utilizar el algoritmo KNN en sklearn y proporcionará ejemplos de código prácticos.

1. Principios básicos del algoritmo K-vecino más cercano

La idea central del algoritmo K-vecino más cercano es: si la mayoría de los K vecinos más cercanos de una muestra en el espacio de características pertenecen a una determinada categoría, entonces es probable que la muestra también pertenezca a esta categoría.

2. Elementos clave del algoritmo K-vecino más cercano
  • Selección del valor K: La elección de K tiene un impacto importante en el rendimiento del modelo.
  • medida de distancia: Se pueden utilizar diferentes métodos de medición de distancia en el algoritmo KNN, como la distancia euclidiana, la distancia de Manhattan, etc.
  • función de peso: A los vecinos se les pueden asignar diferentes pesos, como una ponderación recíproca basada en la distancia.
3. Clasificación usando KNN en sklearn

Estos son los pasos básicos para la clasificación KNN usando sklearn:

3.1 Importar clasificador KNN
from sklearn.neighbors import KNeighborsClassifier
  • 1
3.2 Preparar datos

Supongamos que ya tiene un conjunto de datos conXes la matriz característica,yes la variable objetivo.

from sklearn.datasets import load_iris
X, y = load_iris(return_X_y=True)
  • 1
  • 2
3.3 Crear una instancia de clasificador KNN
knn = KNeighborsClassifier(n_neighbors=3)
  • 1
3.4 Modelo de formación

Utilice el conjunto de datos para entrenar el modelo KNN.

knn.fit(X, y)
  • 1
3.5 Hacer predicciones

Utilice el modelo entrenado para hacer predicciones.

y_pred = knn.predict(X)
  • 1
4. Uso de KNN para regresión en sklearn

KNN también se puede utilizar para tareas de regresión.

4.1 Importar regresor KNN
from sklearn.neighbors import KNeighborsRegressor
  • 1
4.2 Crear una instancia de regresor KNN
knn_reg = KNeighborsRegressor(n_neighbors=3)
  • 1
4.3 Modelo de formación

Utilice el conjunto de datos para entrenar un modelo de regresión KNN.

knn_reg.fit(X, y)
  • 1
4.4 Hacer predicciones

Utilice el modelo entrenado para la predicción de regresión.

y_pred_reg = knn_reg.predict(X)
  • 1
5. Ventajas y desventajas del algoritmo K-vecino más cercano
  • ventaja: El algoritmo es simple y fácil de entender, sin asumir la distribución de datos y tiene una gran adaptabilidad a los datos.
  • defecto: Alta complejidad computacional, especialmente en grandes conjuntos de datos; sensible a valores atípicos.
6. Conclusión

El algoritmo K-vecino más cercano es un método de aprendizaje automático simple pero potente, adecuado para tareas de clasificación y regresión. sklearn proporciona una implementación KNN fácil de usar, lo que nos permite aplicar rápidamente este algoritmo a problemas prácticos.

Este artículo detalla cómo utilizar el algoritmo KNN en sklearn y proporciona ejemplos de código prácticos. Espero que este artículo pueda ayudar a los lectores a comprender mejor el algoritmo del vecino K más cercano y dominar los métodos para implementar estas técnicas en sklearn. A medida que la cantidad de datos siga creciendo y se desarrolle la tecnología de aprendizaje automático, el algoritmo K-vecino más cercano seguirá desempeñando un papel importante en el análisis de datos y el modelado predictivo.