La librería Scikit-learn incluye una implementación del Perceptrón. Probémosla sobre el dataset Iris con el que estamos trabajando. Comencemos importando la clase Perceptron:
Como el Perceptrón es -en principio- un clasificador binario (apenas puede trabajar con dos clases), vamos a filtrar el dataset para quedarnos solo con las muestras de flores de las especies setosa y versicolor (que, como hemos visto son linealmente separables):
iris.shape
El dataset ha quedado reducido a 100 muestras. Ahora -para poder visualizar los resultados en el plano- vamos a seleccionar apenas las dos características predictivas que hemos inspeccionado en el apartado anterior: el ancho y el largo del sépalo y vamos a llevar esta información a la variable X. Y la etiqueta (campo label) la llevamos a la variable y:
y = iris["label"]
Ahora, instanciemos la clase Perceptron con sus parámetros por defecto (deberíamos llamarlos hiperparámetros, pero, desde el punto de vista de desarrollo software, se trata de parámetros de la función Perceptron):
y entrenemos el modelo. Una de las ventajas de trabajar con Scikit-learn es que la interfaz que ofrecen sus clases y funciones son todas extremadamente coherentes entre sí. Así, la mayor parte de las clases que representan algoritmos incluyen un método .fit() que nos permite entrenarlos. Este método -trabajando con algoritmos supervisados- requiere que le pasemos dos argumentos: el primero conteniendo las características predictivas (X), y el segundo conteniendo las etiquetas (y):