Víctor Trigo
El que hizo el curso en Colab: D:
Patricia Carolina Perez Felibert
Hice todo en jupyter :'(
Axel Corona
JAJAJAJAJAJA PENSE LO MISMOOOOO
¿Cómo organizar tu entorno de trabajo?
La organización de tu entorno es clave para un desarrollo eficiente. Siempre que empieces un nuevo proyecto, especialmente en Machine Learning, es fundamental estructurar adecuadamente tus carpetas y archivos. Una sugerencia práctica es crear una carpeta llamada "in" para documentos de entrada como texto e imágenes. Luego, dentro de la raíz de tu proyecto, agrega un directorio "out" donde guardarás las exportaciones y resultados como modelos generados o gráficos. Además, una carpeta "models" te ayudará a mantener organizados tus modelos probados. De esta forma, evitas que todo esté revuelto y puedes gestionar fácilmente los resultados.
¿Qué archivos iniciales son necesarios?
Al desarrollarse un proyecto, varios archivos son necesarios:
¿Cómo crear una clase en Python?
Para inicializar una clase en Python, se utiliza la instrucción class. Los atributos y métodos dentro de la clase permiten reutilizar el código sin necesidad de reescribirlo.
class Utiles: def __init__(self): pass def load_from_csv(self, path): return pd.read_csv(path)
¿Cómo reutilizar métodos en Python?
Tener métodos en un archivo de utilidades simplifica el proceso de escalar y manipular datos. Por ejemplo, funciones para escalar datos o dividir conjuntos son esenciales.
def split_data(dataset, target_column, drop_columns): X = dataset.drop(columns=drop_columns) y = dataset[target_column] return X, y
Esta forma de organización te permite modificar y mejorar funciones sin afectar el flujo principal del programa. Además, cuando es necesario cargar datos, simplemente puedes llamarlos a través de la clase y métodos predefinidos.
¿Cómo ejecutar el código de forma modular?
Una vez organizada la estructura, el main.py puede cargar datos de un CSV usando métodos definidos en utils.py. Asegúrate de importar librerías necesarias como Pandas para evitar errores.
import pandas as pd from utils import Utiles util = Utiles() data = util.load_from_csv('in/felicidad.csv')
Esto incrementa la flexibilidad de tu código, permitiéndote adaptarlo a cambios futuros sin complicaciones. ¡Sigue aprendiendo y aprovechando las ventajas del código modular!
Víctor Trigo
El que hizo el curso en Colab: D:
Patricia Carolina Perez Felibert
Hice todo en jupyter :'(
Axel Corona
JAJAJAJAJAJA PENSE LO MISMOOOOO
Natalia Caro Barrios
Al inicio fue muy raro trabajar con los datasets desde el editor de código y no desde jupyter, pero ahora todo tiene sentido. Se ve excelente la forma de terminar este curso.
JAVIER SANTIAGO SALGADO
Total, me gusto bastante el enfoque en este caso
Robinson Moreno
El profesor, realmente se tomo el tiempo para dividir las etapas de conocimiento, al menos yo noto el conocimiento de mi antes y despues.
Franco Manca
Resumen
Revisión de nuestra arquitectura de código
Ahora vamos a convertir los scripts que tenemos en un código que sea modular y extensible con facilidad para que nuestra arquitectura pueda salir a producción de una manera exitosa.
Una estructura de carpetas que sea organizada para poder gestionar todo lo que vas a necesitar en cualquier proceso de Machine Learning.
Carpetas:
Archivos: Cada clase será un archivo que tenga su propia responsabilidad y se encargue específicamente de una tareas concreta.
. . Repositorio del Proyecto
Diego Jurado
Excelente resumen
Para aquellos que utilizan Jupyter Notebooks desde Visual Studio Code, pueden importar cualquier notebook (.ipynb) , instalando el módulo de python import_ipynb
El código para llamar Utils sería:
import import_ipynb from utils import Utils
Lo pueden instalar con pip
!pip install import_ipynb
¡Saludos!👑
Juan R. Vergara M.
Este curso aunque ya tiene unos 4 años (sabemos como transcurre el tiempo de rápido en tecnología) es de los mejores que he tomado aquí. Con ningún otro hasta ahora había tocado el tema de la puesta en producción 🥇🚀🔥🤖🦾
Maris Botero Gonzalez
Muy buena clase. Muchas gracias
Rodrigo Urquizo Yepez
En cuanto a mysql creo que no seria un gran problema, con mysql workbench puedes convertir tus archivos .sql a archivos .csv.
Miguel Angel Velazquez Romero
Si, pero solo es un caso hipotético.
jose fernando rodriguez gomez
nice amigo.....me pareció excelente incorporar poo en proyectos de data science
David Rueda
Esta clase es realmenete brillante, el potencial de este procedimiento me tiene sorprendido!!
Jhon Freddy Tavera Blandon
La arquitectura de código, a menudo conocida como arquitectura de software, se refiere a la estructura y organización del código fuente de un programa o sistema de software. Una arquitectura de código bien diseñada es esencial para desarrollar software que sea mantenible, escalable, flexible y fácil de entender
Miguel Angel Velazquez Romero
Al ver esta clase me dio gusto haber llevado POO en la Uni por 6 meses.
Pero, no se preocupen, aquí en Platzi también se puede aprender:
Juan R. Vergara M.
🗒
Andres Martin
odio POO con todas mis fuerzas, pero le da un orden con gracia y gozo a los proyectis
Santiago García Rincón
La única desventaja que puede tener trabajar con CLASES en proyectos pequeños es que la implementación de clases podría aumentar la cantidad de código necesario para realizar tareas relativamente simples. En proyectos más pequeños, donde la funcionalidad adicional proporcionada por las clases puede no ser necesaria, el uso de este enfoque puede parecer excesivo y agregar una sobrecarga en términos de complejidad y cantidad de líneas de código.
En tales casos, una implementación más sencilla y procedural podría ser suficiente para cumplir con los objetivos del proyecto, sin la necesidad de introducir la estructura adicional que conlleva el uso de clases.
Es importante tener en cuenta que esta desventaja es específica de proyectos pequeños o simples, ya que en proyectos más grandes y complejos, la programación orientada a objetos y el uso de clases se vuelve más valiosa para lograr la modularidad, la reutilización de código y un diseño más mantenible y escalable. La elección de utilizar clases o no, dependerá de la naturaleza y alcance del proyecto, así como de las necesidades y preferencias del equipo de desarrollo.
Antonio Demarco Bonino
Me encantan las clases en la que se habla de POO. Para dejar más claro todo dejo los principales conceptos aquí.
1) Herencia: La herencia es un mecanismo de la POO que permite que una clase (clase hija o subclase) herede propiedades y métodos de otra clase (clase padre o superclase). Esto permite reutilizar el código existente sin necesidad de reescribirlo, y facilita la creación de jerarquías de clases.
2) Encapsulamiento: El encapsulamiento es la técnica de agrupar datos (atributos) y funciones (métodos) dentro de una misma clase y restringir el acceso directo a algunos de los componentes de un objeto. Esto se hace para proteger los datos y asegurar que solo se puedan modificar de forma controlada a través de métodos especiales llamados "getters" y "setters".
3) Polimorfismo: El polimorfismo es la capacidad de un objeto de tomar diferentes formas. En POO, permite que un mismo método funcione de diferentes maneras, dependiendo del objeto que lo llame. Un mismo nombre de método puede tener diferentes comportamientos en distintas clases relacionadas por herencia.
4) Abstracción: La abstracción es el proceso de simplificar un sistema complejo ocultando los detalles innecesarios y mostrando solo las funcionalidades esenciales. En POO, se logra mediante el uso de clases abstractas o interfaces que definen comportamientos que luego serán implementados por otras clases.
Ricardo Gomez
La clase se centra en la creación de una arquitectura de código modular y organizada para salir a producción en proyectos de Machine Learning con scikit-learn. Se sugieren estructuras de carpetas para gestionar datos, resultados y modelos. Se discuten archivos clave como main.py, utils.py, y models.py, cada uno con funciones específicas para facilitar la reutilización y mantenimiento del código. El enfoque se orienta a mantener un flujo de trabajo limpio y eficiente, permitiendo ajustes sin alterar la lógica principal.
Luciano Gauchez
Esta clase fue buenisima y se complementa muy bien con lo visto en el curso de POO del principio
Juan R. Vergara M.
👍
Nixon Rolando García Ramírez
Recuerden que vimos algo similar para la gente que lo hace en google colar, deep note o jupiter en el curos de manejo de datos faltantes.
%run(LA DIRECCION DE NUESTRO ARCHIVO) #ejemplo si tenemos nuentreo archivo .ipynb en la misma carpeta %run pandas-missing-extension.ipynb
asi que se puede hacer lo mismo en google colap, eso si , el modulo que ustedes vayan a crear es mejor que cuente con un decorador para facilitar la busqueda del metodo que necesitan.
@pd.api.extensions.register_dataframe_accessor("missing")
Sergio Rubiano
Muy interesante la arquitectura
Sebastian Vicondo
Para guardar los cambios hechos en cada archivo 8usar Ctrl+S antes de correr el código.