Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


KNN código de ejemplo y explicación, Apuntes de Programación C

ejemplos de código Knn con toda la explicación sobro como usar esta función en phyton para inteligencia artificial

Tipo: Apuntes

2019/2020

Subido el 23/04/2020

juan-rodriguez-55
juan-rodriguez-55 🇲🇽

1 documento

1 / 4

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Cómo importar las librerías
import numpy as np : nos proporciona funciones matemáticas para poder operar
con matrices y vectores, una estructura de datos de matrices y matrices
multidimensionales para un buen calculo.
import matplotlib.pyplot as plt: Que sirve para generar graficas a partir de datos
contenidos en listas, vectores, en el lenguaje de programación Phyton.
import pandas as pd: Es una librería de código abierto de Phyton que proporciona
herramientas de análisis y manipulación de datos de alto rendimiento utilizando
sus potentes estructuras de datos
Importar el data set
dataset = pd.read_csv('Ads_RedSocial.csv'): lo cual es añadir el archivo con el que
vamos a trabajar (.csv). Ocupando la sintaxis
X = dataset.iloc[:, [2,3]].values : se crea la variable X la cual nos dice que traerá la
información de la fila 2 columna 3 del archivo
y = dataset.iloc[:, 4].values: se crea la variable Y la cual trae todas las filas de la
columna 4
Dividir el data set en conjunto de entrenamiento y conjunto
de testing
from sklearn.model_selection import train_test_split: Esta función nos permite
dividir el data set en dos bloques, los cuales son: Entrenamiento y Testing
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state
= 0): aqui se separan las X y Y train de entrenamiento y las X y Y de testeo
para dfinir los valores que se le asignara a el tamaño de un 25% del total.
Indicando tomar los mismos valores
Escalado de variables
from sklearn.preprocessing import StandardScaler : se importa la librería
slkearn.preprocessing importando standardscaler que sirver para hacer una
estandarización
sc_X = StandardScaler(): creacion del objeto StandardScale con la variable sc_x
X_train = sc_X.fit_transform(X_train): se aplica la estandarización mediante la
librería importada anteriormente para la variable X_train y de esta forma los
valores se van sustituyendo escalarmente en los lugares que les corresponde
pf3
pf4

Vista previa parcial del texto

¡Descarga KNN código de ejemplo y explicación y más Apuntes en PDF de Programación C solo en Docsity!

Cómo importar las librerías

import numpy as np : nos proporciona funciones matemáticas para poder operar

con matrices y vectores, una estructura de datos de matrices y matrices

multidimensionales para un buen calculo.

import matplotlib.pyplot as plt: Que sirve para generar graficas a partir de datos

contenidos en listas, vectores, en el lenguaje de programación Phyton.

import pandas as pd: Es una librería de código abierto de Phyton que proporciona

herramientas de análisis y manipulación de datos de alto rendimiento utilizando

sus potentes estructuras de datos

Importar el data set

dataset = pd.read_csv('Ads_RedSocial.csv'): lo cual es añadir el archivo con el que

vamos a trabajar (.csv). Ocupando la sintaxis

X = dataset.iloc[:, [2,3]].values : se crea la variable X la cual nos dice que traerá la

información de la fila 2 columna 3 del archivo

y = dataset.iloc[:, 4].values: se crea la variable Y la cual trae todas las filas de la

columna 4

Dividir el data set en conjunto de entrenamiento y conjunto

de testing

from sklearn.model_selection import train_test_split: Esta función nos permite

dividir el data set en dos bloques, los cuales son: Entrenamiento y Testing

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state

= 0): aqui se separan las X y Y train de entrenamiento y las X y Y de testeo

para dfinir los valores que se le asignara a el tamaño de un 25% del total.

Indicando tomar los mismos valores

Escalado de variables

from sklearn.preprocessing import StandardScaler : se importa la librería

slkearn.preprocessing importando standardscaler que sirver para hacer una

estandarización

sc_X = StandardScaler(): creacion del objeto StandardScale con la variable sc_x

X_train = sc_X.fit_transform(X_train): se aplica la estandarización mediante la

librería importada anteriormente para la variable X_train y de esta forma los

valores se van sustituyendo escalarmente en los lugares que les corresponde

X_test = sc_X.transform(X_test): se aplica la estandarización mediante la librería

importada anteriormente para la variable Y_test y de esta forma los valores se

van sustituyendo escalarmente en los lugares que les corresponde

Ajustar el clasificador en el Conjunto de Entrenamiento

f r o m s k l e a r n. n e i g h b o r s i m p o r t K N e i g h b o r s C l a s s i fi e r : s e i m p o r t a

KNeighborsClassifer de la libreria Sclear.neighbors que nos sirve para la

prediccion por KNN

classifier = KNeighborsClassifier(n_neighbors = 5, metric = "minkowski", p = 2): se

le da valor a la variable neighbors que vale 5 y la P es el parámetro de potencia

para la métrica de minkowski que será 2

classifier.fit(X_train, y_train) : todo lo anterior se aplicara en estas dos variables

Predicción de los resultados con el Conjunto de Testing

y_pred = classifier.predict(X_test): en esta línea se ve realiza la predicción

mediante la variable Y_pred

Elaborar una matriz de confusión

from sklearn.metrics import confusion_matrix: se importa confusion_matrix de la

lbreria sclearn.matrics

cm = confusion_matrix(y_test, y_pred): se crea la variable cm aplicando la matriz

de confusión para las variables Y_tes y Y_pred para encontrar la exactitud y

presión de nuestros datos

Representación gráfica de los resultados del algoritmo en el

Conjunto de Entrenamiento

from matplotlib.colors import ListedColormap

X_set, y_set = X_train, y_train

X1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 1, stop = X_set[:, 0].max()

  • 1, step = 0.01), np.arange(start = X_set[:, 1].min() - 1, stop = X_set[:, 1].max()

  • 1, step = 0.01))

p l t. c o n t o u r f ( X 1 , X 2 , c l a s s i fi e r. p r e d i c t ( n p. a r r a y ( [ X 1. r a v e l ( ) ,

X2.ravel()]).T).reshape(X1.shape), alpha = 0.75, cmap = ListedColormap(('red',

'green')))

plt.xlim(X1.min(), X1.max())

plt.ylim(X2.min(), X2.max())

plt.title('K-NN (Conjunto de Test)')

plt.xlabel('Edad')

plt.ylabel('Sueldo Estimado')

plt.legend()

plt.show()

Se ponen agregan X_set y X_train para dar forma de ejes dentro de la gráfica dándoles

un tamaño

Se le pone dos colores a la gráfica que son el rojo y el verde en mediante las medidas

asignadas

Se ponen títulos para poder identificar los graficos