Tutorial de aprendizaje de Python SciKit

Scikit Aprende

Scikit-learn es una biblioteca de aprendizaje automático para Python. Cuenta con varios algoritmos de regresión, clasificación y agrupamiento, incluidos SVM, potenciación de gradiente, k-means, bosques aleatorios y DBSCAN. Está diseñado para funcionar con Python Numpy y SciPy . El proyecto scikit-learn comenzó como un proyecto de Google Summer of Code (también conocido como GSoC) de David Cournapeau como scikits.learn. Recibe su nombre de “Scikit”, una extensión independiente de terceros para SciPy.

Aprendizaje de Python Scikit

Scikit está escrito en Python (la mayor parte) y algunos de sus algoritmos principales están escritos en Cython para un mejor rendimiento. Scikit-learn se utiliza para crear modelos y no se recomienda usarlo para leer, manipular y resumir datos, ya que hay mejores marcos disponibles para ese propósito. Es de código abierto y se publica bajo licencia BSD.

Instalar Scikit Learn

Scikit asume que tienes una plataforma Python 2.7 o superior en ejecución con los paquetes NumPY (1.8.2 y superiores) y SciPY (0.13.3 y superiores) en tu dispositivo. Una vez que tengamos estos paquetes instalados, podemos continuar con la instalación. Para la instalación de pip , ejecuta el siguiente comando en la terminal:

pip install scikit-learn

Si lo desea conda, también puede utilizar conda para la instalación de paquetes, ejecute el siguiente comando:

conda install scikit-learn

Uso de Scikit-Learn

Una vez que haya terminado con la instalación, puede usar scikit-learn fácilmente en su código Python importándolo como:

import sklearn

Carga de conjunto de datos de Scikit Learn

Comencemos cargando un conjunto de datos con el que jugar. Carguemos un conjunto de datos simple llamado Iris. Es un conjunto de datos de una flor que contiene 150 observaciones sobre diferentes medidas de la flor. Veamos cómo cargar el conjunto de datos usando scikit-learn.

# Import scikit learnfrom sklearn import datasets# Load datairis= datasets.load_iris()# Print shape of data to confirm data is loadedprint(iris.data.shape)

Estamos imprimiendo la forma de los datos para facilitar su uso, también puede imprimir los datos completos si así lo desea, al ejecutar los códigos se obtiene un resultado como este:

Scikit Learn SVM: aprendizaje y predicción

Ahora que hemos cargado los datos, intentemos aprender de ellos y hacer predicciones a partir de los nuevos datos. Para ello, tenemos que crear un estimador y luego llamar a su método de ajuste.

from sklearn import svmfrom sklearn import datasets# Load datasetiris = datasets.load_iris()clf = svm.LinearSVC()# learn from the dataclf.fit(iris.data, iris.target)# predict for unseen dataclf.predict([[ 5.0,  3.6,  1.3,  0.25]])# Parameters of model can be changed by using the attributes ending with an underscoreprint(clf.coef_ )

Esto es lo que obtenemos cuando ejecutamos este script:

Scikit Aprende Regresión Lineal

Crear varios modelos es bastante sencillo con scikit-learn. Empecemos con un ejemplo simple de regresión.

#import the modelfrom sklearn import linear_modelreg = linear_model.LinearRegression()# use it to fit a datareg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])# Let's look into the fitted dataprint(reg.coef_)

La ejecución del modelo debería devolver un punto que pueda trazarse en la misma línea:

Clasificador de vecinos más cercanos

Probemos un algoritmo de clasificación simple. Este clasificador utiliza un algoritmo basado en árboles de bolas para representar las muestras de entrenamiento.

from sklearn import datasets# Load datasetiris = datasets.load_iris()# Create and fit a nearest-neighbor classifierfrom sklearn import neighborsknn = neighbors.KNeighborsClassifier()knn.fit(iris.data, iris.target)# Predict and print the resultresult=knn.predict([[0.1, 0.2, 0.3, 0.4]])print(result)

Ejecutemos el clasificador y verifiquemos los resultados. El clasificador debería devolver 0. Probemos el ejemplo:

Agrupamiento de k-medias

Este es el algoritmo de agrupamiento más simple. El conjunto se divide en ‘k’ grupos y cada observación se asigna a un grupo. Esto se hace de forma iterativa hasta que los grupos convergen. Crearemos un modelo de agrupamiento de este tipo en el siguiente programa:

from sklearn import cluster, datasets# load datairis = datasets.load_iris()# create clusters for k=3k=3k_means = cluster.KMeans(k)# fit datak_means.fit(iris.data)# print resultsprint( k_means.labels_[::10])print( iris.target[::10])

Al ejecutar el programa, veremos clústeres separados en la lista. Aquí está el resultado del fragmento de código anterior:

Conclusión

En este tutorial, hemos visto que Scikit-Learn facilita el trabajo con varios algoritmos de aprendizaje automático. Hemos visto ejemplos de regresión, clasificación y agrupamiento. Scikit-Learn todavía está en fase de desarrollo y está siendo desarrollado y mantenido por voluntarios, pero es muy popular en la comunidad. Pruebe sus propios ejemplos.

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio