0% encontró este documento útil (0 votos)
5 vistas27 páginas

Full Stack Web Development and AI With Python (Django) - Apuntes

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas27 páginas

Full Stack Web Development and AI With Python (Django) - Apuntes

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 27

Full stack web development and AI

with Python/Django - John Harper


FORMS

Los forms son muy utilizados en ML para que el usuario meta datos (inputs) y se realice la
predicción.

IFRAMES

Están buenos para meter videos de youtube, o incluso un buscador dentro de nuestra web. Ej
en youtube cuando le das compartir y elegís “embebed”, copias todo ese link y lo pegás en la
web, y listo. Tenés el video embebido en al web.

Nota: recordar la extensión de Chrome “ColorZilla” para identificar colores.

Cómo lograr que una imagen se coloree al pasar por arriba (pasar de gris a color):

Está muy bueno ese efecto.

Ej.:
BOOTSTRAP

CÓMO CONFIGURARLO:

1) Incluir el código que te da boostrap en el <head> (link al css)


2) Incluir el código que te da boostrap en el <body > (link al js)

Listo.

CÓMO USARLO:

Copiás y pegás el HTML que te da boostrap (de cada componente/elemento) y listo. El CSS ya
está listo.

Tan sencillo como eso.

CUSTOMIZANDO CLASES DE BOOTSTRAP

1)Seleccionás la clase en CSS y la editás. Ej.:

2)Linkeás el CSS que usás para editar justo debajo del link al css de Bootstrap en el <head>. Ej.:
Tip: si no se te cambia el color o algo, fijate la última clase (o clases más específicas) del
elemento, quizás que hagan referencia a un color, etc, y eliminala.

Tip: podés acomodar los elementos (ej cards) con el sistema grid de bootstrap, creando un
container, rows, etc. Igual yo lo haría con display grid o flexbox.

Tip: podés buscar directamente un elemento + bootstrap en google. Ej.: “footer bootstrap” y
te van a salir.

JAVASCRIPT

NOTA IMPORTANTE: para repasar JAVASCRIPT para meterle a React, es buenísimo el video de
Fazt Code: “Javascript para Aprender React”
(https://www.youtube.com/watch?v=lVqHiTCIRQg&t=1s)

JQuery

Es una librería de JavaScript. Es codear en JS pero de una forma más fácil y liviana.

1) Cargás ese link en el <head>


2) Y en el JS hacés código de Js. Ej.:
Para seleccionar elementos en JQuery es mucho más simple:

Para una clase: $(.nombreClase)

Para un id: $(#nombreId)

Esto reemplaza por ej el “document.getElementById(“..”)

Para escribir HTML hace:

$(elemento).html(“xxxx”)

Para escribir CSS:

Seleccionás el elemento y:

Elemento.css({declaracionesCSS})

Event Handlers en JQuery:

Se hace entonces:

elemento.evento(función)

Para ver todo el detalle de eventos ver:

Ej.:
Animate (JQuery)

En el CSS partís de un estado inicial:

Y luego con el animate de JQuery hacés:

Se hace entonces:

elemento.animate(declaracionesCSS, milisegundos)

Fijate que el 2do argumento es la cantidad de milisegundos que se tarda en generarse la


animación (ej. 5000 ms = 5 seg)
Ej.:

DJANGO

FORMULARIOS

Para capturar data del cliente es tan sencillo como crear un formulario y en “action” poner el
nombre de la URL de la template que va a renderizar el resultado (“hacia allá va la info”). En las
views, para capturar el input hacés request.GET[“nombreInput”] y ya con eso tenés el dato y
podés usarlo y hacer lo que quieras. Luego, acordate que para devolver un resultado/un dato a
una template lo pasás como variable de contexto, que es un diccionario en el tercer argumento
del método render(request, plantilla, ACÁ). Luego, en la template destino usás el resultado/la
variable de contexto haciendo {{nombreVariable}}. Nota: fijate que en este caso la manipulación
que hace del input es aplicarle una función de ML “ficticia” que creó en otro módulo.
Generalmente así funcionan los modelos de ML, necesitan cierto input para devolver un
resultado (una clasificación o una predicción).

URLS:
VIEWS:

INDEX HTML:

RESULT HTML (PLANTILLA DESTINO)


MODELO DE ML FICTICIO:

GITHUB

Tip: antes de que hagamos cualquier push, debemos hacer un pull para tener los últimos
cambios de otros miembros del equipo!

DATA SCIENCE
Librerías necesarias: jupyter notebook, sklearn, pandas, matplotlib.

Tip: para abrir jupyter notebook exactamente en el directorio donde vos querés trabajar. En
la Shell te dirigís a la carpeta destino con cd y escribís jupyter notebook, y listo. Se te abre JN
ahí.

Método CROSSTAB de Pandas: interesante para cruzar variables. Ej.:

Factorplot de Seaborn: interesante para apreciar las diferencias entre distintas categorías entre
dos variables. EJ.:
Las 4 “C” del Data Cleaning: Corregir, Completar, Crear, Convertir.
CORRECTING

Para corregir valores recomienda identificar outliers con el gráfico FacetGrid de Seaborn y luego
imputar valores con la media (depende de la decisión). Ej.:

COMPLETING

Acá recomienda buscar valores faltantes con df[columna].isnull().sum() y para esas columnas
imputar valores faltantes con media. Las columnas que tienen demasiados valores faltantes
directamente las elimina (del columna). Ej.:
CREATING (Feature Engineering)
CONVERTING

Convertir todos los datos a números, que es lo que necesitan los modelos de ML. Para ello se
puede usar la función replace.

MACHINE LEARNING

Separación del dataset en Train-Test

Tip: para modelos de ML pesados (para entrenarlos), podemos apoyarnos en el poder


computacional de Google usando GOOGLE COLAB. Hay que hacer una configuración:
TPU es aún más poderoso que GPU. Depende de nosotros.

285 => 00.00

Sobre la elección de modelos de ML

En los negocios no se usa tanto Regresión lineal, sino más bien ÁRBOLES DE DECISIÓN y
RANDOM FORESTS.

Los árboles de decisión son importantes porque permiten identificar las variables más
importantes para predecir o explicar la variable dependiente seleccionada. Ej. en el dataset del
Titanic, si Y es Survived, las variables más determinantes que elige el modelo son: 1) Sex; 2)
PClass; 3) Age; 4) Embarked.
286 => 00.00

Sacar la correlación de un feature con los otros features rápidamente

Modelo de ML para Titanic:


Pickle es útil para guardar nuestros modelos de ML.

DJANGO – MACHINE LEARNING INTEGRATION AND AWS HOSTING

ML MODEL:

O bien:
VIEWS (FUNCIONES):

La clase 295 es MUY importante, reverla.


TEMPLATES:
URLS.PY:

Entonces: lo que hace es:

1. Crear un formulario que recibe los input del usuario en la template home
2. El formulario, al enviarlo, acciona la template result.html, que tiene asociada la función
(view) result, y que lo que hace es obtener los datos del formulario y alimentar un
modelo de ML, obtener la predicción y renderizar la template result html, pasándole
como variable de contexto el resultado de la predicción. Y ya.

O sea, usar un modelo de ML es tan sencillo como crear un módulo py para leer el modelo de
ML guardado usando pickle, importarlo desde una view (método) que recuperará los datos que
el usuario cargó en un formulario y alimentará el modelo de ML, devolviendo el resultado como
variable de contexto a la template (entregándole el resultado al usuario).

CONFIGURACIÓN DEL DEPLOYMENT


Nota: cuando decimos “loguear a la instancia de AWS”, es conectarse con SSH a la PC de Amazon
desde nuestra PC, y ya es como si estuviéramos dentro. Podemos usar la consola (el cmd) tirar
comandos (ej. clonar un repo de github, etc.).

Si vos modificás algo en la PC local, lo pusheas al repo de github y luego logueás en la instancia
(la PC de Amazon) y hacés un git pull para actualizar todo.

DEEP LEARNING

311 => 00.00

También podría gustarte