Scikit Learn Tutorial

Scikit Learn Tutorial
“Scikit Learn es la biblioteca robusta más utilizada que Python presenta. Scikit Learn proporciona una herramienta eficiente para algoritmos de aprendizaje automático (supervisión, aprendizaje sin supervisión y refuerzo) y modelado estadístico. Algunas funcionalidades principales de Sci-kit aprenden a incluir clasificación, regresión, agrupación y análisis de componentes principales, I.mi., reducción de dimensionalidad. Scikit también trata con las máquinas de vectores de soporte, los descensos de gradiente y los bosques aleatorios (clasificadores de árboles) que ayudan a lograr los resultados. Scikit Learn se basa en las bibliotecas más familiares de Python, como Numpy, Matplotlib y SciPy."

Procedimiento

En este tutorial, vamos a aprender sobre la biblioteca de Python de Scikit Learn y cómo podemos usar esta biblioteca para desarrollar varios algoritmos de aprendizaje automático. Esta guía incluirá los siguientes contenidos que se discutirán uno por uno con una explicación detallada:

  • Instalación
  • Trazado de gráficos
  • Varios conjuntos de datos y sus utilidades en Scikit Learn
  • Selección de características
  • Capacitación de un modelo de aprendizaje automático

Paso 01: Instalación

Antes de comenzar con el aprendizaje de Scikit, primero debemos instalar su paquete desde los repositorios de Python. Para hacer esto, estamos obligados a tener Python (la última versión o cualquiera) descargada e instalada en nuestro sistema. Para descargar el pitón en su sistema, navegue hasta el enlace i.mi.

"Https: // www. Pitón .org ". Una vez que sea redirigido a esta URL, vaya a descargas y haga clic en el Python con cualquier versión que desee descargar a continuación:

Después de descargar el python, ahora necesitamos instalarlo. Seleccione la opción de instalación personalizada después de agregar el Python a la ruta.

Verifique todas las opciones en la ventana de estallido para instalar los paquetes de PIP con Python y continúe y seleccione Siguiente.

El siguiente paso será especificar la ubicación de los paquetes de Python, verificar todas las opciones avanzadas dadas y especificar la ubicación y hacer clic en Instalar; Esto comenzará el proceso de instalación que continuará por un tiempo.

Ahora Python se está instalando en nuestros sistemas. Para abrir el tipo de shell de Python, coloque Python en el menú de búsqueda y presione Enter. La cáscara de Python se abrirá. Ahora avanzaremos para instalar el scikit Learn en Python. Para esto, abra el símbolo del sistema y escriba Python para verificar si el Python se está ejecutando en el sistema o no. Si el sistema devuelve la versión de Python, esto significa que el Python se está ejecutando correctamente. Luego necesitamos verificar la versión de PIP para actualizar los paquetes PIP:

$ Python
$ Pip -Versión

Después de verificar las versiones de Python y PIP, ahora escriba el siguiente comando en el símbolo del sistema para instalar el scikit Learn en Python.

$ Pip Install Scikit Learn

Después de esto, el scikit con todos sus paquetes comenzará a instalar.

Ahora se ha instalado Scikit Learn en nuestro sistema, y ​​ahora podemos usar los paquetes Scikit para desarrollar cualquier algoritmo de aprendizaje automático. Después de la instalación exitosa de Scikit, ahora avanzaremos al siguiente paso, donde sabremos cómo trazar los gráficos de los datos usando Scikit Learn.

Paso 02: trazado de gráficos

Los gráficos se conocen como las herramientas visuales que ayudan a visualizar la información dada si los datos en los conjuntos de datos son demasiado numerosos o complicados como para describir. Los gráficos enfatizan la representación de la relación entre una o muchas variables. Para trabajar con los algoritmos de aprendizaje automático, necesitamos conocer la representación de datos para el análisis de datos para capacitar y probar los datos en consecuencia. Scikit Learn proporciona muchos de estos paquetes de visualización (en forma gráfica) para los diversos conjuntos de datos.

Ejemplo# 01

La visualización de los datos en forma de gráfico se puede obtener utilizando el paquete matplotlib. Matplotlib es un paquete Python que contribuye como la base de los paquetes de trazado de Sci-kit Learn. Scikit Learn se integra con Matplotlib para trazar (representación visual de los datos o los resultados logrados después de la capacitación y prueba de los datos en algoritmos de aprendizaje automático). Intentemos implementar un ejemplo usando matplotlib.

Supongamos que queremos trazar algunos números aleatorios para visualizar su relación entre ellos. Podemos tomar estos números al azar, e.gramo., 0.5, 1.5, 2.5. Para escribir el código, importaremos la biblioteca matplotlib desde los paquetes de Python como PLT. Después de este paso, ahora podemos usar PLT en lugar de escribir matplotlib en todo el código. Luego, utilizando este PLT, escribiremos un comando para trazar los números que ya hemos seleccionado al azar usando la función "PLT. TRAM ("Números seleccionados") ". Para mostrar estos números en el gráfico en la salida, usaremos la función "PLT. espectáculo()". El código se puede crear de manera posterior:

$ import matplotlib. Pyplot como PLT
$ plt. trama ([0.5, 1.5, 2.5])
$ plt. espectáculo()

Los números se mostrarán en la salida en el gráfico:

Ejemplo# 02

Si queremos trazar los datos en forma de una gráfica de dispersión, entonces podemos usar la función "dispersar. trama ()". El gráfico de dispersión representa los datos en forma de puntos de datos de puntos. Estas tramas funcionan en dos o más dos variables. Cada punto o punto de datos en el gráfico representa los dos valores diferentes (cada uno en el eje x y el eje y) correspondiente a un punto de datos en un conjunto de datos.

En el ejemplo posterior, trazaremos una trama de dispersión. Para hacerlo, importaremos el Matplotlib Pyplot como PLT. Este PLT se puede usar en lugar de matplotlib. pyplot. Después de esto, definiremos las dos variables x e y como x = 1, 3, 5, 7 y y = 2, 4, 6, 8. Para la gráfica de dispersión, la dimensión de X e Y necesita coincidir. Para trazar ambas variables, usaremos la función PLT. dispersión ("Variable 1, variable 2"). Para mostrar estas variables en el gráfico, use la función PLT. espectáculo ().

$ import matplotlib. Pyplot como PLT
$ x = [1, 3, 5, 7]
$ y = [2, 4, 6, 8]
$ plt. dispersión (x, y)
$ plt. espectáculo ()

La relación entre las dos variables especificadas en forma de una gráfica dispersa se mostrará como:

Los ejemplos mencionados anteriormente se pueden usar para trazar los datos específicos y conocer su relación entre sí.

Ejemplo# 03

Ahora supongamos que estábamos trabajando con algún conjunto de datos binarios, y tenemos que clasificar los datos como pertenecientes a la clase 0 o la clase 1. Desarrollamos un clasificador binario para esos datos utilizando un algoritmo de aprendizaje automático, y ahora queremos saber qué tan bien está funcionando este clasificador. Para este propósito, podemos usar un AUC-ROC_CURVE.

En la curva AUC -RUC, AUC indica qué grado el clasificador desarrollado puede predecir las clases correctamente, ya sea como 0 o 1, y ROC representa la probabilidad de que los clasificadores que representen las clases correctamente. La curva AUC-RUC_ muestra la curva entre FPR (eje y) y TPR (eje x), que son ambas matrices ND. Para implementar esta curva AUC-RUC, primero, importe el MatplotLibpyPlot como PLT para que podamos llamar a PLT para trazar.

Luego importaremos el Numpy como NP para crear las matrices ND. Después de esta importación de las métricas de Sklearn. Ahora especificaremos el X e Y usando el NP. Array () para crear las matrices ND. Nd-arrays usa el numpy para almacenar los números secuenciales en ellos. Para especificar el FPR y TPR y los umbrales, utilizaremos el método "Métricas.roc_curve (x, y) "y luego usaremos estos valores de FPR y TPR para almacenar en el ROC_AUC llamando a la función" Métricas.auc () ".

Después de especificar estos valores, llamaremos a la función usando "Métricas. ROCCURVEDISPLAY () ”pasando FPR, TPR y ROC_AUC en sus argumentos y almacenándolos en visualización variable todo. Entonces llamaremos a la función. plot () y plt. show () para mostrar la curva ROC-AUC con los parámetros especificados en la salida de la siguiente manera:

Después de ejecutar el código mencionado anteriormente, obtenemos la siguiente salida:

La curva RUC-AUC se ha mostrado ahora en la salida, lo que representa cuánto ha predicho las clases de nuestro clasificador desarrollado como 1 o 0 correctamente. La curva ROC-AUC funciona para los conjuntos de datos con clasificación binaria.

Ejemplo # 04

Otro método de trazado de gráficos utilizando la ciencia. Aprenda la curva de calibración. La curva de calibración tiene otro nombre: el diagrama de confiabilidad; Esta curva traza el promedio de probabilidad predicha contra la clase positiva en el eje Y de la curva tomando la entrada del clasificador de clasificación binaria. Para implementar esta curva de calibración, resuelvamos un ejemplo en el que primero importaremos el conjunto de datos "Hacer clasificación" desde el paquete de datos de datos Sklearn, luego importar el tren y probar la división de la selección del modelo Sklearn, luego utilizando la selección de modelo lineal de Sklearn, importe regresión logística y regresión logística y Después de esa curva de calibración de importación y visualización de las "Calibraciones de Sklearn".

Una vez que hemos importado todos los paquetes importantes y requeridos, ahora cargue la "Clasificación" utilizando el método de carga "DataSet_Name ()", después de esto dividiremos los datos para fines de tren y prueba utilizando el método "Train_test__split ()", luego nosotros Construirá el modelo de clasificación utilizando "logisticRegression ()" y se ajustará a este modelo en x_train y y_train.

Ahora mediante el uso de las etiquetas y las probabilidades que se han predicho usando "clasificador. Predictar probabilidad () "omitiendo el XTest como argumento de entrada, llame al método" Curve de calibración () "Para trazar la curva de calibración primero y luego mostrarlo usando" DisplayCurve () ".

La salida muestra el trazado de la curva de calibración que ha utilizado las verdaderas probabilidades predichas de un clasificador binario.

Paso 03: Varios conjuntos de datos y sus utilidades en Scikit Learn

Para trabajar con algoritmos de aprendizaje automático, necesitamos tener los conjuntos de datos que podemos usar para construir los algoritmos específicos y lograr las salidas deseadas. Scikit Learn viene con algunos paquetes que tienen conjuntos de datos integrados predeterminados almacenados en él con el nombre Sklearn. conjuntos de datos. Para trabajar en los conjuntos de datos, podemos leerlos utilizando repositorios de conjuntos de datos predeterminados de Sklearn o generándolos.

Los conjuntos de datos que Sklearn proporciona a su usuario son algunos conjuntos de datos de juguetes relativamente pequeños y otros conjuntos de datos del mundo real que son enormes y tienen información relacionada con aplicaciones mundanas. El tamaño estándar y los conjuntos de datos pequeños se pueden obtener utilizando los cargadores de conjuntos de datos, mientras que los conjuntos de datos del mundo real se cargan a través del conjunto de datos del conjunto de datos.

En este ejemplo, primero importaremos los conjuntos de datos de juguetes de "Sklearn. conjuntos de datos ". Para importar el conjunto de datos, usaremos sklearn.conjuntos de datos. Sklearn.Los conjuntos de datos permiten importar los conjuntos de datos desde sus conjuntos de datos predeterminados. Se pueden cargar diferentes conjuntos de datos desde Sklearn.conjuntos de datos utilizando este comando.

$ de Sklearn. conjuntos de datos importar load_digits

Aquí hemos importado el conjunto de datos de dígitos desde el sklearn.conjuntos de datos. Podemos cargar cualquier otro conjunto de datos utilizando el mismo comando con la modificación simple; es decir, tenemos que reemplazar el "load_digits" con el nombre de ese conjunto de datos específico que queremos cargar en el comando mencionado anteriormente. Ahora en el siguiente paso, cargaremos el conjunto de datos utilizando el método "Data set_name ()" y luego lo almacenaremos en cualquier variable, digamos el conjunto de datos, como lo hemos hecho en este comando

$ dataSet = load_digits ().

Hasta este paso, el conjunto de datos se ha descargado en los dígitos. Para mostrar los datos en este conjunto de datos, usaremos la función de impresión y pasaremos el nombre de la variable.datos en los argumentos de la función de impresión.

$ imprime (conjunto de datos.datos )

Ahora ejecutaremos todos los comandos mencionados explícitamente en forma de código, y dará la salida como:

Después de ejecutar el código, obtuvimos una salida que muestra todos los datos que se almacenan en el conjunto de datos de la carga _Digits.

Si queremos saber sobre la especificación del conjunto de datos en términos de cuántas clases hay en el conjunto de datos o cuántas características hay para el conjunto de datos más el tamaño de la muestra del conjunto de datos, es decir, cuántos ejemplos se han dado para cada conjunto de datos.

Para obtener esta información, simplemente podemos usar la función "DataSet_varaiable Nombre. forma". Para implementar esto, importe el conjunto de datos (load_iris) desde sklearn.conjuntos de datos y luego cargue este conjunto de datos llamando al método "load_iris ()" y almacenándolo en "iris. carga". Luego imprima la especificación del conjunto de datos utilizando la impresión (Loadiris.forma) de la siguiente manera:

El código anterior tendría la siguiente salida después de la ejecución:

La salida ha devuelto los valores (150, 4). Esto significa que el conjunto de datos tiene 150 ejemplos de muestra y 4 atributos que podemos usar para crear nuestro algoritmo de aprendizaje automático de acuerdo con la demanda.

En el siguiente ejemplo, ahora aprenderemos cómo importar conjuntos de datos del mundo real y trabajar en ellos. Para los datos del mundo real, obtenemos los archivos utilizando la función de recuperación que descarga y extrae el conjunto de datos de la caché/archivo del sitio web específico y lo carga en el sklearn. conjuntos de datos.

Tomemos los datos del mundo real de los conjuntos de datos del mundo real utilizando el Sklearn.conjuntos de datos y trabajar en él. Aquí nos gustaría tomar los datos de algunos sitios web de grupos de noticias, "sitios web de grupos de noticias de TV". Ahora importaremos el conjunto de datos para este sitio web específico obteniendo primero los archivos del repositorio del sitio web. Luego cargaremos los datos de capacitación de los archivos obtenidos de estos datos a Sklearn.conjuntos de datos llamando al método de carga, yo.mi., "DataSet_name (subset =", ya sea los datos de prueba o del tren que se ingresarán ")" y luego los almacenará en alguna variable "periódico Dataload".

Después de esto, simplemente mostraremos los nombres de destino del conjunto de datos. Los "nombres de destino" son los archivos que contienen los archivos de datos reales de los conjuntos de datos. Llamemos a la función de impresión para mostrar los nombres de los archivos presentes en el conjunto de datos al escribir los comandos:

$ PPrint (List ("DataSetName. objetivo ”_names))

Hemos importado el PPRInt aquí porque el nombre de destino contiene la lista del archivo, y queremos que esta lista se muestre tal como está. Para mostrar esta lista, primero hemos importado el paquete PPRint, y luego usándolo, hemos mostrado la lista de los nombres de archivos en el conjunto de datos que ya hemos cargado en "Sklearn.conjuntos de datos ”obteniendo los archivos del sitio web. Hemos implementado el código mencionado anteriormente en Python, y su salida llegó a ser así:

Ahora la lista de conjuntos de datos ha sido mostrada por el sistema. Si queremos saber los atributos de este conjunto de datos, e.gramo., El número de ejemplos de muestras que contiene el conjunto de datos, el número total de características en el conjunto de datos, etc. Simplemente podemos usar la impresión (DataSet_Name. Nombre del archivo. forma) ya que, como ya hemos explicado que toda la información del conjunto de datos se almacena en el archivo file_name o target_name, y devolverá la información del atributo del conjunto de datos tal como está.

$ print (periódico dataLoad. Nombre del archivo. forma )

Paso 04: Selección de características

En los algoritmos de aprendizaje automático, el aspecto más importante que controla la salida del algoritmo son las características. Las características contribuyen principalmente a construir cualquier algoritmo de aprendizaje automático. Todo el procesamiento se realiza en los conjuntos de datos que se basan en las características. Las características pueden hacer que los algoritmos sean robustos o una falla completa en términos de precisión (mejor predicción o estimación) para el límite de decisión. Si existen características redundantes o una mayor cantidad de características que se requieren, entonces esto contribuye al sobreajuste en la salida.

El sobreajuste es el fenómeno en el que un modelo capacitado en conjuntos de datos que tiene más características de las requeridas y tiene un error de entrenamiento más cercano a cero, pero cuando está capacitado en el conjunto de datos de prueba, el modelo no funciona bien en ese conjunto de datos de prueba y por lo tanto no toma las decisiones correctas. Para evitar las posibilidades de que el modelo entrenado sea sobrecargado, dejamos caer algunas de las características innecesarias. Esta reducción de dimensionalidad se puede hacer de varias maneras utilizando el aprendizaje de Scikit.

Ejemplo #01

El primer método para eliminar la función es a través de un umbral de baja varianza; En este tipo de selección de características, eliminamos esas características de los conjuntos de datos que tienen una varianza baja que están por debajo de los umbrales dados. Las características de baja varianza son aquellas que contribuyen con el mismo valor en todo el conjunto de datos.

Probemos un ejemplo para la reducción de funciones. Supongamos que tenemos un conjunto de datos que tiene tres características en datos binarios. En nuestro ejemplo, los conjuntos de datos de dígitos tienen cuatro columnas como sus cuatro características. Si queremos eliminar una característica con todos sus ejemplos de muestras del conjunto de datos, usaremos la fórmula de varianza y desarrollaremos un umbral de varianza en eso. Si alguna característica tiene baja varianza, entonces el umbral se eliminará del conjunto de datos.

Primero importaremos el umbral de varianza desde el "sklearn largometray_selection". Una vez que se importa el umbral de varianza, estableceremos el valor de este umbral que, en nuestro caso, hemos definido como "0.5 ". Por lo tanto, cualquier columna de características que tenga un valor menor que este umbral se abandonará de este conjunto de datos de dígitos.

Para hacerlo, llamaremos el método "Umbral de varianza ()". En los argumentos de la función, pasaremos el valor umbral a ser 0.5 y guárdelo en algún "umbral" variable. Después de esto, llamaremos a la función "Umsholder. Fit_transform () ”y pase el conjunto de datos a esta función y deje que lo almacene con el nombre new_dataset. Una vez que hayamos terminado con estos pasos, imprimiremos el conjunto de datos como se muestra:

Como se puede ver en la salida que antes de aplicar el umbral de varianza al conjunto de datos, tenía 4 características, y ahora después de la aplicación del umbral de varianza en el conjunto de datos, instruimos el sistema para que eliminen todas las columnas que tengan una varianza debajo de la valor umbral, yo.mi., 0.5, la salida muestra tres columnas en el conjunto de datos, lo que significa que se calculó la columna para tener una varianza menor que el umbral, por lo que se eliminó del conjunto de datos para evitar la redundancia en el conjunto de datos y para que el modelo se haya entrenado en los datos en los datos establecido para ser más preciso en términos de precisión y evitar el sobreajuste.

Ejemplo #02

El segundo método para seleccionar las características en el conjunto de datos viene dada por el método "Seleccionar K-Best". Para la implementación de este método, el conjunto de datos IRIS se importará del "sklearndatasets", y luego cargaremos este conjunto de datos y lo guardaremos en una variable aleatoria, como el iris. Luego, para cargar el conjunto de datos, llamaremos "LoadDataset_Name ()".

CHI2 mide la diferencia entre las características esperadas y observadas y se usa para tareas de clasificación. Después de cargar el conjunto de datos en Iris e importar el Select K Best y Chi2, ahora los usaremos en el "Fit. transform () función ". SelectKBest (chi2, k = 2). adaptar.transform (), primero se ajusta a los datos que toman los datos de entrenamiento como entrada y luego los transforman. Luego, la K en el método SelectKBest elimina las columnas y selecciona las características que han obtenido las características más altas en. En nuestro caso, seleccionaremos las dos características a medida que seleccionemos el valor k igual a 2.

En este ejemplo, cuando simplemente cargamos el conjunto de datos y luego lo mostramos, había cuatro columnas como características en el conjunto de datos, pero ahora después de haber aplicado el método SelectKBest con k = 2 en el conjunto de datos ahora, el nuevo conjunto Dos columnas como características Esto significa que SelectKBest ha seleccionado las dos mejores características del conjunto de datos original.

Ejemplo #03

SCIKIT Learn dada otra forma de seleccionar la característica importante del conjunto de datos utilizando la "Eliminación de características recursivas (RFE)". RFE deja caer las características menos importantes del conjunto de datos al realizar la capacitación recursiva del conjunto de datos. RFE selecciona el número de característica para sí mismo utilizando la mediana del número total de características en el conjunto de datos, y solo deja una característica del conjunto de datos en cada iteración. Para implementar RFE, primero importe las bibliotecas que se requieren para construir el código a través de estos comandos.

Ahora hemos importado con éxito los paquetes para RFE de Sklearn. característica. selección. Para crear el conjunto de datos, hemos cargado la función "make_regression ()", y en sus argumentos, hemos pasado esos parámetros que queremos en el conjunto de datos.

$ X, y = make_regression (n_samples = 10000, n_feature = 100, n_informative = 2)
$ imprime (x.forma)

Luego imprimemos este conjunto de datos para conocer la forma o los atributos exactos del conjunto de datos. Después de mostrar el conjunto de datos, ahora usaremos el eliminador de características recursivas. Para este propósito, haremos un modelo como DecisionTreeRegor (). Una vez que se completa el modelo ahora utilizando el RFECV () que importamos anteriormente, pasaremos el más detallado, el modelo/estimador, el paso, la puntuación y el CV como los parámetros requeridos en los argumentos de RFECV.

Ahora para eliminar la función recursiva, ajustaremos y transformaremos los datos. Todo el procedimiento explicado se puede escribir como el siguiente código:

Ahora las características se eliminarán recursivamente de acuerdo con nuestro requisito después de cada iteración, ya que se puede mostrar claramente en la salida. Esta eliminación de características recursivas continuará hasta que lleguemos al punto donde nos quedamos con dos características importantes del total de 100 características presentes en el conjunto de datos original.

Ejemplo #04

Otro método que podemos usar para eliminar las características adicionales, o simplemente podemos dejarlas debido a su redundancia, es el "modelo SelectFrom" junto con los "Modelos lineales". Cuando los modelos lineales de tesis se penalizan de alguna manera con la norma L1, su solución existe escasamente ya que la mayoría de sus coeficientes se vuelven iguales a cero.

En reducción de dimensionalidad o selección de características, estos modelos lineales, junto con el modelo SelectFrom, ayudan a seleccionar ese coeficiente no cero. Trabajan principalmente para el problema de la regresión. Para implementar el modelo SelectFrom, primero debemos importar el LinearSVC de Sklearn.SVM, LinearSVC es el clasificador de vectores de soporte lineal que encuentra la mejor línea de ajuste (hiperplano) para dividir y clasificar los datos en diferentes categorías; Una vez que obtengamos el hiperplano en LSVC, podemos proporcionar cualquier característica a este modelo de mejor ajuste para saber a qué clase pertenecería esa característica, luego importaremos el conjunto de datos desde el sklearn. Conjuntos de ATA, y después de esto, tendremos que importar el "Modelo SelectFrom" de Sklearn.selección de características.

Una vez que se han importado los paquetes requeridos, cargamos el conjunto de datos del Iris usando load_dataSet () y luego mostramos los atributos del conjunto de datos de Iris en términos de ejemplos de muestra y la cantidad de características que tiene utilizando el "" .Método de forma ". Después de conocer la forma del conjunto de datos, ahora aplicaremos el "LinearSVC ().Modelo Fit (_Loaded Data Set) ”con C = 0.01, una penalización del linealvc = l1 como argumento de entrada. Luego cree el modelo usando "SelectFrom Model ()" y luego transforme el modelo usando "Modelo.transformar()". Ahora muestre el nuevo conjunto de datos de transformación y muestre su atributo utilizando los datos "set_new.forma".

La forma del conjunto de datos antes de aplicar el "modelo SelectFrom" para la selección de características fue (150, 4), lo que significa que tenía 150 ejemplos de muestra y cuatro atributos, pero una vez que aplicamos la selección de características en el conjunto de datos utilizando "LinearSVC. "Y SelectFrom Model La forma del conjunto de datos se ha transformado en (150, 3), lo que significa que la única característica se ha retirado del conjunto de datos.

Paso 05: Preprocesamiento de datos

Los conjuntos de datos con los que trabajamos para desarrollar y entrenar diferentes algoritmos de aprendizaje automático en ellos no siempre son los que están en su forma perfecta para construir el modelo. Debemos modificar estos conjuntos de datos de acuerdo con nuestros requisitos. El primer paso que debemos hacer después de cargar el conjunto de datos y antes de entrenar el modelo es el preprocesamiento de datos. Mediante el preprocesamiento de datos, nos referimos:

  • Escala de características
  • Normalización / estandarización de características

Escala de características

La tarea más importante en el preprocesamiento de datos es la escala de características. La escala de características se realiza para que todas las características del conjunto de datos tengan la misma unidad; De lo contrario, el algoritmo no entrenará correctamente, y puede afectar el rendimiento del algoritmo ralentizando el proceso. La escala se puede hacer usando MinmaxScaler o MaxabsScaler. La escala de características establece los rangos de valores de características entre cero y uno en su mayoría, y a veces bajo demanda, puede limitar el valor de una característica al tamaño de su unidad.

Aquí implementaremos un ejemplo en el que primero vamos a importar el preprocesamiento de Sklearn, y luego importaremos Numpy. Numpy se usa en las funciones donde necesitamos trabajar con matrices. Ahora crearemos una matriz ND usando numpy. Para escalar funciones en esta matriz que hemos creado, primero utilizaremos el método "Preprocesamiento. Minmaxscaler () ". Después de este paso, aplicamos el MinmaxScaler a la matriz llamando al método "MinmaxScaler. Fit_transform () ”y pasará esta matriz en sus argumentos. El código se puede reescribir como:

La salida después de la escala de características se ha realizado en la "x" da el valor de una matriz entre cero y una. El MaxAbsScaler funciona principalmente de lo mismo que el MinmaxScaler, pero este escalador escala los valores de datos varían entre uno negativo (-1) y positivo (+1). El código para el maxabsscaler viene dado por:

En la salida, los valores de los datos "x" se han devuelto en forma continua desde el rango que varía entre -1 a +1.

Normalización / estandarización de características

Aprenderemos sobre las técnicas de preprocesamiento de datos en este ejemplo. Primero importemos desde el preprocesamiento de Sklearn y después de importar el preprocesamiento de Sklearn, también importe Numpy ya que ahora vamos a trabajar con matrices ND. Ahora cree una matriz ND y guárdela en "X". Ahora necesitamos realizar la normalización/estandarización media en estos datos. Para hacer esto, utilizaremos el método convencional "preprocesamiento. estandarias. ajuste ("escriba aquí los datos para ser normalizados") ". El valor de la función se guardará en una variable, e.gramo., escalador. Ahora realice la estandarización en los datos X dados con el método, E.gramo. "escalador. transformar ("datos") "y mostrar los datos recién transformados y luego:

Los datos "x" se han estandarizado con el valor medio más cercano a cero. La normalización/estandarización de los datos se realiza para evitar cualquier redundante o duplicados en el conjunto de datos. La normalización/ estandarización media garantiza mantener solo los datos relacionados en los conjuntos de datos. Además, también se ocupa de cualquier problema causado por modificaciones, e.gramo., eliminación de datos, la adición de nuevos datos o cualquier actualización en los conjuntos de datos que puedan convertirse en un obstáculo en el futuro.

Ahora que hemos aprendido más sobre los paquetes de aprendizaje de Scikit que podemos usar para construir los algoritmos de aprendizaje automático. Debemos probar nuestras habilidades con el scikit aprender una función que hemos utilizado anteriormente en esta guía y desarrollar un algoritmo de aprendizaje automático para entrenar primero un modelo en el conjunto de datos específico y luego probar ese modelo ejecutándolo en el conjunto de datos de prueba desconocido en Obtenga una experiencia práctica en estas funciones/paquetes de aprendizaje de Scikit. Iniciemos la implementación de las funciones de aprendizaje de Scikit para el algoritmo o modelo de aprendizaje automático.

Paso 06: Entrenamiento de modelos usando Scikit Learn

Entrenaremos el "modelo de regresión lineal" en el conjunto de datos de precios de la casa que nos crearemos en el código más tarde. La regresión lineal encuentra el mejor ajuste de línea para los puntos de datos dados en el conjunto de datos. Esta línea se traza en los puntos de datos en el gráfico. Luego usamos esta línea para predecir los valores que nuestro modelo de tren predecirá cuándo se probará en algunos datos de prueba con la creencia de que los puntos de datos de salida generados después de ejecutar los datos de prueba en el modelo seguirían la línea como los datos o el entrenamiento originales los datos han seguido.

Para trabajar con el modelo de regresión lineal, necesitamos importar la biblioteca Matplotlib, luego de Scikit Learn, importaremos el modelo lineal, las matrices y cualquier selección del modelo para entrenar el modelo más adelante en el código. Para crear el conjunto de datos del precio de la vivienda, importaremos NP de Numpy y crearemos las dos matriz ND con los nombres "Áreasq_footage_X" y "Houseprice_Y", respectivamente.

Después de crear estas dos matrices de ND, trazaremos sus valores en la gráfica utilizando el "dispersión.plot () "Al etiquetar el eje x del gráfico como el" área de la casa "y el eje y como el" precio de la casa ". Una vez que se hayan trazado los puntos de datos, capacitaremos el modelo utilizando el "Modelo LineAleRegression ()". Luego ampliaremos las dimensiones de la matriz nd "áreasq_footage_x", y luego se almacenará en la nueva variable "x_new". Entonces usaremos el "Model_house.Fit () "y pasará el" x_new "y" Houseprice_y "en sus argumentos de entrada para que se ajusten al modelo a la mejor línea.

Crearemos la hipótesis de la mejor línea ajustada por "y = theta0* x + theta1" y trazaremos estas salidas esperadas a los datos dados reales y trazaremos el gráfico. Este gráfico nos hará saber la mejor línea de ajuste para los puntos de datos dados, en función de los cuales predeciremos la salida de los puntos de datos de los datos de prueba predichos como correctos o no.

Este es el gráfico que obtuvimos antes de entrenar el modelo. Todos los puntos de datos aquí se han trazado siguiendo los valores del eje X y el eje Y.

Este gráfico es la salida del modelo entrenado, y muestra la mejor línea de ajuste para predecir la salida de los puntos de datos si el modelo entrenado se evalúa en algunos datos de prueba.

Conclusión

Scikit Learn es una biblioteca de Python que utiliza el paquete Sklearn para trabajar con sus diferentes funciones disponibles para construir cualquier algoritmo de aprendizaje automático. En este tutorial, hemos aprendido a Scikit aprender de pasos muy básicos (instalación de Scikit Learn on Python a la compleja capacitación de un modelo usando los paquetes de aprendizaje de Scikit). En el medio del nivel básico al complejo, hemos discutido la traza de gráficos, la carga de conjuntos de datos, la selección de características y el preprocesamiento de datos. Esperamos que encuentre este tutorial útil para desarrollar sus conocimientos sobre Sci-kit Learn.