Google Colab - Interactive Graphs, Tables and Widgets!

Google Colab - Interactive Graphs, Tables and Widgets!

hola a todos en este video les mostraré cómo trabajar con gráficos interactivos tablas y widgets dentro de google colab nos centraremos en tres paquetes en orden para hacer esto, que incluyen widgets ipi que ya está instalado en google et al y también trabajará con dos terceros paquetes que incluyen evidentemente y facetas lo primero que haremos es lo que necesitamos para instalar evidentemente y facetas también como por qué financiar que es yahoo finanzas para que podamos trabajar con algunas de estas tablas interactivas y gráficos y también tendremos que reinicia nuestro tiempo de ejecución que es lo que esto La función OS kill lo hace así que ejecutemos eso ahora cuando ejecuta esto, puede llevar un minuto correr Solo borraré la salida aquí y seguiremos adelante lo siguiente que debemos hacer es si estamos usando widgets que son terceros widgets de fiesta dentro de google colab nosotros Necesitar use este punto de salida habilite el widget personalizado administrador en él para poder ejecutar algunos de esos widgets y también vamos a importar todos los paquetes que estamos usando así que hagámoslo ahora comencemos primero a mirar con widgets en entornos ipython y comenzaremos mirando ipi widgets y digamos que tenemos una función 2x más 4 y queremos obtener la salida y podemos usar un control deslizante de widgets para ilustrar cómo funciona esta función y lo que son los widgets son python llenas de acontecimientos objetos que tienen una representación en el navegador a menudo como un controlador como un control deslizante o cuadro de texto en nuestro caso, veremos controles deslizantes para todos estos ejemplos lo primero que haremos es codifique esta función y solo llámalo func y toma una entrada que es x y solo vamos a devolver el y que es dos multiplicado por x más cuatro y la forma en que podemos obtener esto como un widget es de donde de ipi widgets que llamaremos interactuar y de interactuar necesitamos pasar en dos parámetros la función que acabamos de codificar y luego la x valor que estableceré en 10. ejecutemos esto y también ponga un punto y coma solo para deshacerse de ese texto y tenemos nuestra función como slider ahora y podemos ver que podemos ajustar el control deslizante en este momento está establecido en 10 así que tenemos 2 multiplicado por 10 más 4 y eso obtiene 24. si reducimos esto a 0 tenemos ellos igual a 4 y podemos seguir ajustándolo para valores diferentes cuando son 30 los y la salida es 64. puedes cambiar la x valor y lo que también podemos hacer es obtener varios controles deslizantes aquí en caso de que tener un significado de función multivariante múltiples variables eso es lo que haremos ahora llamaré a esta función multivariante y es similar a nuestro anterior función donde tenemos 2 multiplicado por x y sumamos por 4 pero también tenemos una variable que también multiplicar por 2 y obtendremos una salida de z en este caso tenemos dos parámetros que necesitamos ingresar en nuestra función para obtener nuestra salida y como antes, llamaremos a interactuar desde widgets ipi y pasaremos en nuestro multivariante funciona como el primer argumento y luego también necesitamos poner la x valores que estableceré en 10 nuevamente yy que también estableceré en 10 y ejecutaré esto genial y podemos ver aquí que ahora tener dos controles deslizantes uno para x uno para y y podemos ver que si tenemos hacha de diez dos por diez es veinte y de y de 10 2 por 10 también es 20. luego y sumamos todos esos juntos tenemos 44 y podemos jugar con los valores y ver cómo eso afecta el valor de nuestra función z y esta puede ser una simple demostración tal vez tengas un función más compleja o esto también puede ser una herramienta de aprendizaje en caso de que quieras enseñar matemáticas a alguien por primera vez hora esta sencilla herramienta y el control deslizante pueden ser una herramienta útil para usar pasemos a los gráficos interactivos también usaremos widgets ipi para esto y lo primero que haré es lo haré usando una plantilla de el ipy documentación de widgets con algunas ediciones de mí mismo y voy a crear una función llamado lineal función y va a tomar dos pendiente de las entradas e interceptar por lo que tendremos una pendiente de una línea y el línea interceptable y podremos cambiarlos dinámicamente con controles deslizantes Lo siguiente que tengo que hacer es poner en punto plt figura porque vamos a graficar esta función también es necesario poner los valores de x y pondré los límites yy el límite x y solo los límites y de este gráfico, por lo que tener un límite superior y un límite inferior para nuestro gráfico y luego haré algunas otras cosas que haré solo toma un barra negra atraviesa nuestro eje xy eje y en cero y colorearé el gráfico rojo y llegaremos a mira como se ve esto tenemos el nuestro función para nuestra función lineal definido ahora también necesitamos crear un variable gráfica interactiva y vamos a llamar interactivo de nuevo y vamos a asimilar el lineal función vamos a dar pendiente y lo que estamos lo que vamos a hacer aquí es que vamos a poner en los valores que podemos cambiar en el control deslizante y solo voy a hacer esto como rango de 5 a 5. negativo 5,0 a 5,0 positivo y la razón por la que estoy poniendo esto como un flotador es si ponemos esto como un número entero i pi widgets lo incrementará en uno pero si nosotros ingrese esto como un número de punto flotante es decir, una fracción, entonces podemos implementar por fracciones cuando lo cambiamos en el deslizador lo mismo para la intersección es voy a lo haré variar desde negativo 5.0 a 5.0 entonces voy a tener la salida y lo voy a dar interactivo gráfico niños de puntos función y vamos a devolver el negativo índice y llamemos a la trama interactiva estupendo ahora mismo tenemos nuestra pendiente en cero y interceptar en cero y eso solo significa nuestra línea de lote va a pasar de negativo 10 en el eje x a 10 pero lo tiene no pasa de cero en el eje y cambiemos un poco la pendiente y podemos ver eso mientras nos deslizamos hacia arriba la pendiente aumenta y podemos ir por el otro lado donde nuestra pendiente es ahora negativa y a medida que incrementamos x el y la producción va a ser cada vez más negativo volvamos a una pendiente positiva cuando incrementamos en x la salida y aumenta en el eje y positivamente también podemos cambiar la intersección que es el punto en el que el nuestra línea aquí cruza el eje y primero podemos volvernos negativos y veremos un aderezo y también podemos ir al revés, hacerlo positivo y podemos muy bien aquí tenemos un función lineal graficada también podemos graficar una función no lineal y estoy solo voy a copiar y pegar y tenemos lo mismo la función es similar a la anterior excepto en lugar de solo multiplicar por la pendiente y sumando por la intersección también estamos voy a poner una x también vamos a cuadrar la x y echaremos un vistazo a eso y podemos jugar con este gráfico también y podemos ver que es no lineal aquí y podemos ver lo que pasa a medida que cambiamos La pendiente y a medida que cambiamos la intersección como bueno y estos pueden ser bastante geniales herramientas de visualización si quieres tener una idea de lo que es se ve la función y qué función podría parecer si tu cambia algunas de las variables cuando trazarlo avanzando, echaremos un vistazo a marcos de datos interactivos y en este caso collab en realidad tiene esta extensión construida en donde podemos renderizar datos de pandas encuadrar en pantallas interactivas que pueden ser filtrado, clasificado y explorado y usan este paquete llamado visualización de la tabla de datos para hacer esto echemos un vistazo a lo que haré es que soy va a crear un marco de datos y voy a llamar a la función yf que es Yahoo Finance y voy a descargar algunos datos de stock ahora lo tenemos descargado y tomemos un vistazo al marco de datos y esto es muy bueno, creo que esto es algo que puso Google Collab recientemente, pero si echamos un vistazo a nuestro marco de datos podemos ver que en la parte superior esquina derecha tenemos esta varita y este fajo es lo que nos permite convertir este marco de datos en un mesa interactiva para nosotros mirar y ordenar los datos como mejor nos parezca hagamos clic en esto y ahora vemos que tenemos esto cambiado donde tenemos los datos y nosotros puedo arreglarlo si me actualizo puedo ordenar por ascendente o descendente pedido puedo ordenarlo por volumen para ver cuál días en que la manzana fue la que más se negoció yo puedo ajustar el o filtrar en el cierre ajustado para ver cuando la manzana alcanza su punto más alto durante este periodo de tiempo y cuando llega a su punto más bajo y también puedo usar este botón de filtro aquí si hago clic en eso puedo filtrar por el cierre ajustado si quiero ver los rangos de precios para un cierto rango y si quiero ver cierto volumen También puedo ordenar por fecha, digamos que yo solo quiero obtener los valores para enero y solo escribo 2021-01 y esto filtra solo los valores para enero de 2021 y esto es muy bueno y el más genial parte es que no tenemos que importar un módulo para hacer esto y no tengo que instalar cualquier cosa en nuestro entorno de Google Colab para hacer esta cuando tenemos el marco de datos de pandas, puede simplemente hacer clic en la esquina superior derecha en la varita y podremos filtrar ordenar y jugar con los datos usando este extensión hacia adelante vamos a pasar a un tercero paquetes que nos permiten visualizar datos y lo que voy a hacer resaltar primero son las facetas y las facetas son a programa que fue creado y permite nosotros para visualizar características y hay dos diferentes paquetes que facetas realmente usan facetas bucear que nos permitirá jugar con las características visualmente y facetas Información general lo que nos dará más descriptivo estadísticas de las características comencemos lo que haremos primero es Iremos a clonar este repositorio de github usando este comando git y vamos a moverlo de la carpeta a nuestro contenido usando esta secuencia de comandos de bash, así que ejecutemos esto ahora podemos ver aquí que tenemos el estadísticas genéricas de características estadísticas necesitaremos importar esto porque este es un archivo pi y la forma en que hacemos esto es solo llame a import genérico generador de estadísticas de funciones y ahora podemos usar esto dentro de nuestro entorno de colaboración de google entonces lo que haré ahora es ir a arrastre y suelte algunos datos y esto es va a ser de kaggle incluiré el enlace se encuentra debajo al final de la cuaderno, pero también lo incluiré en la carpeta de git hub y ahora tengo esto en nuestro contenido carpeta y estos serán datos de deserción que ibm recopiló significando personas que dejaron sus trabajos por otra oportunidad y llamaré a esto datos de horas y voy a usar un marco de datos de pandas para leer esto en y echemos un vistazo a los datos y aquí tenemos varios datos que tenemos la edad del empleado tenemos si se fueron o no que es lo que significa el desgaste dejar sus trabajos si volaban con frecuencia o no a diario calificar de pago el departamento en el que trabajaban y un algunos otros características aquí y veremos que cuando conectemos esto podremos sumergirnos en esto y visualiza algo de esto con facetas vamos a hacer eso ahora y lo que voy a hacer hacer es antes de hacer eso voy a realmente crear datos de entrenamiento y datos de prueba y lo que voy a hacer por si acaso que esto esta ordenado de alguna manera estoy voy a volver a muestrear esto para mezclarlo para que podamos dividir esto en datos de entrenamiento y prueba Llamaré a los datos de RRHH y lo pondré igual a hr datos y luego podemos usar la función de muestra y establecemos la fracción igual a 1 lo que significa que esto solo mezclará el datos al azar para que podamos dividirlo en el entrenamiento y prueba de datos y podemos echar un vistazo a eso para confirmar que en realidad éramos capaz de mezclar estos datos un poco y podemos ver con solo mirar el el primer par de filas son diferentes y también los índices estupendo lo siguiente que tenemos que hacer es Necesito dividir esto en entrenamiento y prueba de datos y dividiré aproximadamente un tercio de esto en los datos de prueba y el otro tercio en el el abeto el primer tercio en la prueba datos y luego los dos últimos tercios en datos de entrenamiento y tenemos eso dividido y lo que voy a hacer ahora es voy a tomar esto el cuaderno que nosotros o el archivo pi que importado y tenemos una función allí que vamos a usar que es el generador de estadísticas de características genéricas y voy a ejecutar eso A continuación, voy a usar esto para crea esta variable proto variable para Pro representa el protocolo y somos vamos a crear esto en nuestro entrenamiento datos y nuestros datos de prueba entonces tenemos esta proto tienda que va a serializamos esto en cadenas y también tengo que decodificar esto es de utf-8 finalmente tenemos esto y esto directamente copiado y pegado desde el facet github y esto en realidad va para devolvernos la visual de las características y tenemos algo de html aquí y estamos va a devolver el html y va ser interactivo donde podamos juega con los datos, así que ejecutemos esto en este punto y lo bueno aquí es que tenemos todo esto roto voy a alejar un un poco y podemos mirar los datos de diferentes formas en este momento lo tenemos etiquetado por trabajo papel si yo acercar podemos ver que tenemos el varios trabajos que estas personas tenían que es investigación ejecutiva de ventas director y lo tenemos etiquetado por colores para el número de empresas que el empleados trabajaron para así que si son morados trabajaron para dos compañías y podemos echarle un vistazo a esto más a fondo podemos dividir esto en vamos a ver años de trabajo totales y podemos ver que tenemos una amplia gama y tenemos colores mas claros para el personas que trabajan de cero a ocho años y cada vez se vuelve más oscuro y más azul a medida que el número de años continúa funciona, por lo que aquí se muestra un rango los años de trabajo y podemos echar un vistazo a otro en este caso estamos buscando si la gente dejar su trabajo actual o si están se quedó y podemos ver la mayoría de la gente se quedó en sus trabajos actuales mientras que la que está etiquetado por las esferas azules y los círculos rojos muestran personas que tienen renunció a sus trabajos y al puesto que ayudó y podemos cambiar esto también podemos echa un vistazo a las tarifas por hora y podemos ver las tarifas por hora también podemos agregar datos en los ejes y y x echando un vistazo a la educación y esto es el número de años de educación o creo que este podría ser el número de el nivel de educación y podemos tomar un mirar área de estudios y esto es en lo que se enfocaron dentro de la universidad entonces podemos agregar esto en el eje x como bien y esto nos permite profundizar más en datos para ver si hay patrones o estructuras jerárquicas que podemos identificar visualmente y ahora mismo estamos viendo el conjunto de datos de entrenamiento y también podemos echar un vistazo a esto en el conjunto de datos de prueba para ver si nuestro entrenamiento y las pruebas coinciden entre sí si pudimos dividirlo relativamente bien o si nosotros si no hay superposición, eso podría ser un asunto con nuestro conjunto de datos de entrenamiento y prueba y continuando, también podemos echar un vistazo a el descripción general de las facetas que nos darán más de una prueba la estadística descriptiva de los datos y nuevamente tenemos esta plantilla html que fue escrito por la gente en trabajando en facetas directamente del github y podemos simplemente presionar shift enter para correr esta y solo tengo que volver a ejecutar eso y ahora tenemos el descriptivo estadísticas para esto y tenemos una desglose de las características numéricas del variables y si me deslizo hasta aquí tenemos el características categóricas, así como el los no numéricos son los binarios características como el departamento en el que trabajan si renunciaron o no a sus trabajos o no y la cantidad de personas que lo hicieron eso y podemos ver que tenemos estos barras de naranja y estas barras azules en nuestro histograma y eso solo demuestra que tenemos la prueba datos y datos de entrenamiento y el de esto aquí podemos ver que el naranja es la prueba mientras que el azul es el entrenamiento solo para ver cuanto superposición hay y si hay un gran diferencia entre los dos que puede causar problemas si estamos modelando el datos y estamos buscando explicar los datos utilizando las funciones y ellos no se alinean el que la descripción general de las facetas también es que resaltará si hay muchos ceros y podemos ver que sobre un cierto umbral será rojo entonces hay mucha gente que tiene cero número de empresas en las que trabajan por lo que podría ser su primer trabajo o estan buscando trabajo y tenemos niveles de opciones sobre acciones que no es sorprendente porque la mayoría de la gente no tengo opciones sobre acciones, así que habrá muchos valores cero allí y para algunas de las otras funciones como bien y esta es una herramienta genial para usar análisis de datos exploratorios cuando estás solo conociéndolo dentro de google collab tienes que hacerlo ya que esta es una paquete de terceros que necesita no puedes simplemente importar esto y ejecutar esto tendrás que permitir widgets de terceros dentro de google colab y luego obtener esto de obtener esto cuaderno de github y luego descargarlo para toma esto análisis, pero creo que podría valer la pena si es nuevo en los datos exploratorios análisis y se necesita mucho trabajo hace mucho trabajo desde el principio para ti el paquete final el paquete de widgets que destacaré es evidentemente y evidentemente ayuda a evaluar la máquina modelos de aprendizaje durante la validación y monitorearlos en producción la herramienta genera visual interactivo informes y perfiles json de pandas marcos de datos o archivos csv y echemos un vistazo a eso ahora lo que haré es tener otro excel archivo e incluiré esto en el github y esto es de fred que es el st Luis federales base de datos y echaremos un vistazo a algunos de los datos económicos así que voy a leer esto en un dato marco voy a cambiar el nombre de uno de los columnas en nuestra columna de destino que Necesito hacer para el paquete evidentemente y echaremos un vistazo breve a esto y lo que nos interesa es el índice de precios al consumidor o este es un medida de la inflación que por los precios que los consumidores pueden experiencia y tenemos dos variables que dos características que nosotros estamos buscando explicar esto, tenemos el Tasa de interés real a 10 años, que es la Interesar la tasa de interés ajustada que está actualmente en el mercado y luego también tienen nóminas totales no agrícolas que es una estimación de la corriente personal en campos específicos así que lo que haremos es carga en el evidentemente hemos cargado y estamos voy a ejecutar esto a través de uno de los evidentemente informes y el informe voy a lo más destacado es el informe de deriva de datos y solo voy a copiar y pegar esto aqui y ejecutar esto muy rápido y lo que esto hizo aquí lo llamamos el evidentemente tablero para la deriva de datos y luego lo calcula para el conjunto de datos que tenemos lo que vamos Que hacer es que queremos echar un vistazo si hay una deriva de datos que es ¿Los datos varían con el tiempo que estamos mirando y tenemos que poner en el datos de referencia y los datos actuales y tenemos los datos de referencia primero y luego los datos actuales en segundo lugar así que si lo has hecho continuamente actualizando sus datos tendrá la datos de referencia como el conjunto de datos anterior y luego su conjunto de datos actual es el uno que acabas de recolectar y si hay variación en el tiempo, entonces esto podría causar problemas con los modelos y es posible que deba actualizar su modelo con el fin de tener en cuenta esa variación echemos un vistazo a esto ahora y tenemos el informe ilustrado aquí y lo que tiene esta es la referencia distribución que son nuestros datos anteriores y estos son realmente los datos de 2000 y antes de eso y nuestra actual distribución que son los datos actuales conjunto que estamos viendo son los datos desde 2000 en adelante hasta 2021 ahora mismo y lo que hace es echar un vistazo la distribución de los datos pasados y los datos actuales en los que estamos trabajando con si hay una diferencia significativa entre los dos, entonces podría haber datos deriva que es lo que es este paquete detector y esta es una característica bastante interesante a medida que te dedicas más al modelado y estadísticas y aprendizaje automático se vuelve cada vez más importante ya que la mayoría de los datos en la vida real son tiempo variar y tambien hay otros paquetes con clases y funciones dentro evidentemente que se utilizan para probar qué tan bien funciona la regresión y entra en el análisis exploratorio de datos como bueno y puedes comprobarlo en su página de github gracias por mirar espero que esto fue útil y solo resalté algunos de los paquetes y widgets que pensé que eran interesantes pero si quieres para ver un conjunto más grande de widgets al que puede ir aquí esta página de github te advertiré que no todos estos trabajará con la colaboración de Google y Tengo que probarlos para ver si lo hacen. Tuve algunos problemas para trabajar con ipi, así como otros paquetes aquí, así que ten cuidado con eso y es posible que tenga que usar solo un local Júpiter cuaderno para hacer eso y estos son solo los distintos sitios web por si tu quieres Vamos más en los paquetes que destaqué como facetas o evidentemente y luego solo el documentación para widgets ipi y una explicación en video que incluye que trafico la deriva de datos es evidentemente sí mismo Si este video le resultó útil, no dude en Me gusta suscríbete y también puedes conectarte conmigo en linkedin twitter y github gracias a todos por mirar y codificar feliz

Noticias relacionadas