CursosEmpresasBlogLiveConfPrecios

Mejorando el modelo

Clase 15 de 18 • Curso de Regresión Lineal con Python y scikit-learn

Clase anteriorSiguiente clase

Contenido del curso

Introducción al curso

  • 1
    Tu primera regresión lineal con scikit-learn

    Tu primera regresión lineal con scikit-learn

    09:00 min
  • 2
    Análisis de datos para tu primera regresión lineal

    Análisis de datos para tu primera regresión lineal

    09:49 min
  • 3
    Entrenando un modelo de regresión lineal con scikit-learn

    Entrenando un modelo de regresión lineal con scikit-learn

    14:01 min

Cómo funciona la regresión lineal

  • 4
    ¿Qué es la regresión lineal?

    ¿Qué es la regresión lineal?

    04:26 min
  • 5
    Cuándo utilizar un modelo de regresión lineal

    Cuándo utilizar un modelo de regresión lineal

    03:53 min
  • 6
    Función de pérdida y optimización: mínimos cuadrados

    Función de pérdida y optimización: mínimos cuadrados

    06:10 min
  • 7
    Evaluando el modelo: R^2 y MSE

    Evaluando el modelo: R^2 y MSE

    04:49 min
  • quiz de Cómo funciona la regresión lineal

Regresión lineal multivariable

  • 8
    Regresión lineal multivariable

    Regresión lineal multivariable

    03:45 min
  • 9
    Análisis de regresión multivariable

    Análisis de regresión multivariable

    14:20 min

Proyecto práctico

  • 10
    Regresión lineal para predecir los gastos médicos de pacientes

    Regresión lineal para predecir los gastos médicos de pacientes

    04:15 min
  • 11
    Exploración y preparación de datos

    Exploración y preparación de datos

    07:49 min
  • 12
    Análisis de correlación de los datos

    Análisis de correlación de los datos

    09:57 min
  • 13
    Entrenamiento del modelo

    Entrenamiento del modelo

    10:40 min
  • 14
    Evaluando el modelo

    Evaluando el modelo

    13:20 min
  • 15
    Mejorando el modelo

    Mejorando el modelo

    Viendo ahora
  • quiz de Proyecto práctico

Pasos siguientes

  • 16
    ¿Qué hay más allá de la linealidad?

    ¿Qué hay más allá de la linealidad?

    04:26 min
  • 17
    Siguientes pasos en modelos de inteligencia artificial

    Siguientes pasos en modelos de inteligencia artificial

    02:11 min
  • 18

    Comparte tu proyecto de regresión lineal y certifícate

  • Tomar el examen del curso
    • FELIX  DAVID CORDOVA GARCIA

      FELIX DAVID CORDOVA GARCIA

      student•
      hace 4 años

      Bueno, como estoy obsesionado con las redes neuronales, a este proyecto le metí tensorflow usando todas las columnas, sin eliminar ni crear ninguna nueva( además de las que se crearon con get_dummies) y me salió esto:

      1.PNG

      2.PNG
      3.PNG

      Nótese que este modelo predice mejor que el primer modelo creado, casi igual que el tercero pero no tan bien como el segundo

        Luis Fernando Laris Pardo

        Luis Fernando Laris Pardo

        student•
        hace 4 años

        :O quedó interesante tu gráfico de los residuales ¡gracias por compartir! Yo siendo curioso, me pregunto si beneficiaría al modelo que usaras dropout entre las capas :thinking:

        Tomas Dale

        Tomas Dale

        student•
        hace 4 años

        MUCHISIMAS GRACIAS, MUY BUEN APORTE, PREGUNTA, COMO SE PODRIA HACER UNA PREDICCION? NO LOGRO HACER EL COMANDO PARA QUE DEVUELVA UN 'Y' CON PREDICCION

      César Isaac González Naranjo

      César Isaac González Naranjo

      student•
      hace 4 años

      por qué edad al cuadrado ? para qué sirve ? , darle más peso a la edad ?

        Jose  Manuel Rivas Márquez

        Jose Manuel Rivas Márquez

        student•
        hace 4 años

        tengo la misma duda

        Sebastian Alejandro Gómez Ardila

        Sebastian Alejandro Gómez Ardila

        student•
        hace 4 años

        Pensé algo similar, pero cuando realizamos

        sc_y = StandardScaler().fit(y) y_train = sc_y.transform(y_train)

        los valores se normalizan, tengo la misma duda, si alguien puede ayudar a resolverla, genial

      Maria Linares

      Maria Linares

      student•
      hace 4 años

      Es una buena práctica crear una copia de tu data frame con .copy() para poder trabajar con modelos alternativos sin arruinar tus datos originales.

      César Isaac González Naranjo

      César Isaac González Naranjo

      student•
      hace 4 años

      Me pueden explicar un poco sobre la gráfica de residuales ? no entiendo para que es o como interpretarla :D

        Patricia Carolina Perez Felibert

        Patricia Carolina Perez Felibert

        student•
        hace 4 años

        tambien me quedo esa duda

        Saúl Regalado

        Saúl Regalado

        student•
        hace 4 años

        El modelo toma el valor 0.0 y cada punto es el valor real del dataset. Por lo que la "distancia" entre cada punto y la línea del 0 representa que tanto le faltó/sobró al modelo para predecir el valor real, en otras palabras el residuo

      Jhon Freddy Tavera Blandon

      Jhon Freddy Tavera Blandon

      student•
      hace 2 años

      Para mejorar el modelo de regresión lineal, puedes considerar las siguientes estrategias:

      Feature Engineering:

      • Analiza las variables existentes y busca formas de crear nuevas variables que puedan tener una mejor relación con la variable objetivo. Esto puede incluir transformaciones, combinación de variables o creación de variables dummy.

      Selección de características:

      • Evalúa la importancia y relevancia de cada variable en el modelo. Puedes utilizar técnicas como la correlación, la importancia de características o la eliminación recursiva de características para seleccionar las variables más significativas.

      Regularización:

      • Considera el uso de técnicas de regularización como la regresión ridge o la regresión lasso para reducir la complejidad del modelo y evitar el sobreajuste. Estas técnicas penalizan los coeficientes de las variables menos relevantes.

      Manejo de valores atípicos:

      • Identifica y maneja los valores atípicos en tus datos. Los valores atípicos pueden afectar negativamente el rendimiento del modelo y distorsionar los resultados. Puedes eliminarlos, imputarlos o utilizar técnicas robustas para minimizar su impacto.

      Validación cruzada:

      • Utiliza la validación cruzada para evaluar el rendimiento del modelo de manera más robusta. Esto te permite obtener estimaciones más precisas del rendimiento y asegurarte de que el modelo generaliza bien a nuevos datos.

      Regularización de hiperparámetros:

      • Ajusta los hiperparámetros del modelo, como la tasa de aprendizaje o el parámetro de regularización, utilizando técnicas como la búsqueda en cuadrícula o la optimización bayesiana. Esto te permite encontrar la configuración óptima que maximice el rendimiento del modelo.
      Ignacio Milesi

      Ignacio Milesi

      student•
      hace 2 años

      Se puede verificar la relacion bien marca entre un pasiente con sobrepeso y fumador con los costos:

      La grafica se puede obtener con:

      sns.scatterplot(data = df_second[['age', 'charges', 'sobrepeso*fumador' ]],

      x = "age",

      y = "charges",

      hue= 'sobrepeso*fumador')

      Yonatan Efraín Jara Boza

      Yonatan Efraín Jara Boza

      student•
      hace 3 años

      Buenas, sobre la tabla resumen, a partir de que se muestra en columnas el estadìstico t y el valor p, entiendo que esto esta relacionado con la parte inferencial de la estadìstica, en la que el 0.05 es por el nivel de significancia 5% y que cuando el p-value era menor que este 0.05 se rechazaba una hipótesis nula. La pregunta es: Cómo entender intuitivamente que al ver estos valores-p algunos me servirán y otros no sabiendo esta base estadística? Cuál es la hipótesis nula aquí si es que la hay? Qué quiere decir que una variable es igual a 0 (se menciona en 9:05)?

      Juan Jose Sepulveda Calderon

      Juan Jose Sepulveda Calderon

      student•
      hace 3 años

      ¿Con qué criterio se debe crear nuevas variables?

      Javier Arrieta

      Javier Arrieta

      student•
      hace 3 años

      Vale pero como puedo pasarle datos para que realice una prediccion? porque a mi pensar falta explicar eso, nose como pasarle los datos necesarios para que el modelo haga su trabajo y me haga una preccion, por ejemplo un paciente con 60 años, que fuma pero no es obeso, y ademas tiene 2 hijos

        Gerardo Mayel Fernández Alamilla

        Gerardo Mayel Fernández Alamilla

        student•
        hace 2 años

        muy buena pregunta, lo que mencionas sería poner a tu modelo en producción hay varias maneras, una es un batch, es decir podrías tener los nuevos datos que quieres predecir en un archivo cdv, cargarlos y hacer la predicción, el modelo puede exportarse como archivo .pkl , es decir el modelo entrenado, y después cargarlo com la librería job lib, una vez cargado puedes empezar a hacer predicciones en nuevos datos, es importante que esos nuevos datos tengan la misma estructura que los datos con los que entrenaste el modelo, te dejo un ejemplo de una nueva predicción considerando los datos que mencionaste en el.ejemplo y complete los otros datos que no mencionaste , este código puedes incorporarlo a tu notebook ara empezar a hacer nuevas predicciones en mi caso el segundo modelo entrenado lo llamé model_2

        model_2.predict([[60, 30.64, 2, 3600, 0, 1, 1, 0, 1, 0, 0]])

        se obtiene el resultado:

        array([[254.14142089]])

      Cristian Enrique Cuevas Mercado

      Cristian Enrique Cuevas Mercado

      student•
      hace 4 años

      aun así existe presencia de heterocedasticidad en los residuos

      Alejandro Collado Valverde

      Alejandro Collado Valverde

      student•
      hace 2 años

      Como es posible que con los mismos datos y el mismo codigo me esten dando valores distintos en los coeficientes?

      Andrés Fernández

      Andrés Fernández

      student•
      hace 4 años

      La mejor clase del curso!

      Ángel Samuel Suesca Ríos

      Ángel Samuel Suesca Ríos

      student•
      hace 3 años

      Es fundamental entender estadística inferencial para poder saber qué tan aceptable es cada uno de los coeficientes, y qué tan buena es su estimación.

      sebastián Giraldo Vargas

      sebastián Giraldo Vargas

      student•
      hace 3 años

      Por qué al utilizar metrics el r2 me da negativo, pero en el summary me lo muestra positivo?. afecta en algo?

        José Fernando Aguilar Arredondo

        José Fernando Aguilar Arredondo

        student•
        hace 3 años

        Hola Sebastián, podrías mostrarme tu código, por favor :) Y ver que es lo que paso.

      Andres Sanchez

      Andres Sanchez

      student•
      hace 2 años

      ¿Con qué criterio sé cuáles variables elevar al cuadrado y cuáles no?

      Yonatan Efraín Jara Boza

      Yonatan Efraín Jara Boza

      student•
      hace 3 años

      Otra cuestión, el contexto es que yo he estandarizado X_train y X_test ambos a partir de ajustar el modelo de estandarización a solo X_train (no a todo X), y no he estandarizado ni Y_train ni Y_test, esto por los aportes de mis compañeros y lecturas por foros sobre que practicas usa la comunidad. . Entonces he seguido los pasos explicados del video para mejorar el modelo y me resulta todo muy similar incluyendo que elijo las mismas variables para el modelo final, la diferencia es en el p-value del intercepto pues me da 0.000000 (no 0.85 o 0.66 como en el video). . Esto qué significado tiene? Cuál es el análisis que se le puede dar? . Por si acaso, también he probado con la ruta de estandarizaciones de variables del docente y me dió valores similares a los del video para todos los p-value, o sea parece que las estandarizaciones fueron las determinantes.

      Francisco Alberto Cervantes Rodríguez

      Francisco Alberto Cervantes Rodríguez

      student•
      hace 3 años

      Una vez hecho el segundo modelo (antes de eliminar las variables) decidí graficar la relación entre la Edad y el Cargo:

      output3.png
      Para esto usé el siguiente código:

      plt.scatter(X_test[:,5], y_test, label='test') plt.scatter(X_test[:,5], y_predict, label='predict') plt.xlabel('Edad normalizada') plt.ylabel('Cargo normalizado') plt.legend(loc=(1.02,0.5)) plt.show()

      Me sorprendió lo parecido que son los datos predecidos con los del test! Ver este tipo de cosas sólo me hacen querer continuar más en esto. Muchas gracias profesor!!

        Alberto Gonzalez

        Alberto Gonzalez

        student•
        hace 3 años

        Voy a probar el código que muestras en tu aporte, me ha interesado bastante! Esta área del análisis de lbig data con machine learning es bien interesante.

      Gerardo Mayel Fernández Alamilla

      Gerardo Mayel Fernández Alamilla

      student•
      hace 2 años

      por qué la edad al cuadrado podría ayudar al modelo:

      Podría haber una relación cuadrática entre la edad y la variable de respuesta. Por ejemplo, si se trata de un conjunto de datos de seguros, los costos podrían aumentar a un ritmo acelerado a medida que las personas envejecen debido a un mayor riesgo de problemas de salud

        Jeinfferson Bernal G

        Jeinfferson Bernal G

        student•
        hace 2 años

        Interesante conclusion!

      Daniel Felipe Niño Sanabria

      Daniel Felipe Niño Sanabria

      student•
      hace 2 años

      Me quedo la duda de como utilizar el modelo 2 ya en la practica con valores "x" que necesitemos utilizar, lo probé de la siguiente forma, aunque me sale un mensaje de advertencia, si alguno me puede corroborar que esa es la forma adecuada de hacerlo le agradezco:

      # Paso 1: Preparar los nuevos datos new_data = pd.DataFrame({ 'feature1': [1,1,0], # Reemplaza con los valores reales 'feature2': [1,0,1], 'feature3': [900,400,500], 'feature4': [2,0,1], # Agrega aquí las demás características }) # Paso 2: Aplicar el escalado utilizando el StandardScaler entrenado previamente new_data_scaled = sc_x.transform(new_data) # Paso 3: Realizar la predicción con el modelo entrenado predicted_scaled = model.predict(new_data_scaled).reshape(-1, 1) # Paso 4: Invertir la transformación de escalado para obtener las predicciones en su escala original predicted = sc_y.inverse_transform(predicted_scaled) # Las predicciones se encuentran ahora en la variable 'predicted' print(predicted)

      El mensaje de adverttencia que me genera es el siguiente: X has feature names, but StandardScaler was fitted without feature names.

      Marcos Ireneo Barbas

      Marcos Ireneo Barbas

      student•
      hace 3 años

      Les dejo algunos algunos features nuevos que realmente dan un buen aporte al modelo

      second_df['bmi2'] = second_df['bmi'] **2 second_df['age2'] = second_df['age'] **2 second_df['sobrepeso'] = (second_df['bmi'] >= 30).astype(int) second_df['sobrepeso_region_sudeste'] = second_df['sobrepeso'] * second_df['region_southeast'] second_df['sobrepeso_fumador'] = second_df['sobrepeso'] * second_df['smoker_yes'] second_df['fumador_con_riesgo'] = second_df['smoker_yes'] * (second_df['age'] > 34).astype(int)

    Escuelas

    • Desarrollo Web
      • Fundamentos del Desarrollo Web Profesional
      • Diseño y Desarrollo Frontend
      • Desarrollo Frontend con JavaScript
      • Desarrollo Frontend con Vue.js
      • Desarrollo Frontend con Angular
      • Desarrollo Frontend con React.js
      • Desarrollo Backend con Node.js
      • Desarrollo Backend con Python
      • Desarrollo Backend con Java
      • Desarrollo Backend con PHP
      • Desarrollo Backend con Ruby
      • Bases de Datos para Web
      • Seguridad Web & API
      • Testing Automatizado y QA para Web
      • Arquitecturas Web Modernas y Escalabilidad
      • DevOps y Cloud para Desarrolladores Web
    • English Academy
      • Inglés Básico A1
      • Inglés Básico A2
      • Inglés Intermedio B1
      • Inglés Intermedio Alto B2
      • Inglés Avanzado C1
      • Inglés para Propósitos Específicos
      • Inglés de Negocios
    • Marketing Digital
      • Fundamentos de Marketing Digital
      • Marketing de Contenidos y Redacción Persuasiva
      • SEO y Posicionamiento Web
      • Social Media Marketing y Community Management
      • Publicidad Digital y Paid Media
      • Analítica Digital y Optimización (CRO)
      • Estrategia de Marketing y Growth
      • Marketing de Marca y Comunicación Estratégica
      • Marketing para E-commerce
      • Marketing B2B
      • Inteligencia Artificial Aplicada al Marketing
      • Automatización del Marketing
      • Marca Personal y Marketing Freelance
      • Ventas y Experiencia del Cliente
      • Creación de Contenido para Redes Sociales
    • Inteligencia Artificial y Data Science
      • Fundamentos de Data Science y AI
      • Análisis y Visualización de Datos
      • Machine Learning y Deep Learning
      • Data Engineer
      • Inteligencia Artificial para la Productividad
      • Desarrollo de Aplicaciones con IA
      • AI Software Engineer
    • Ciberseguridad
      • Fundamentos de Ciberseguridad
      • Hacking Ético y Pentesting (Red Team)
      • Análisis de Malware e Ingeniería Forense
      • Seguridad Defensiva y Cumplimiento (Blue Team)
      • Ciberseguridad Estratégica
    • Liderazgo y Habilidades Blandas
      • Fundamentos de Habilidades Profesionales
      • Liderazgo y Gestión de Equipos
      • Comunicación Avanzada y Oratoria
      • Negociación y Resolución de Conflictos
      • Inteligencia Emocional y Autogestión
      • Productividad y Herramientas Digitales
      • Gestión de Proyectos y Metodologías Ágiles
      • Desarrollo de Carrera y Marca Personal
      • Diversidad, Inclusión y Entorno Laboral Saludable
      • Filosofía y Estrategia para Líderes
    • Diseño de Producto y UX
      • Fundamentos de Diseño UX/UI
      • Investigación de Usuarios (UX Research)
      • Arquitectura de Información y Usabilidad
      • Diseño de Interfaces y Prototipado (UI Design)
      • Sistemas de Diseño y DesignOps
      • Redacción UX (UX Writing)
      • Creatividad e Innovación en Diseño
      • Diseño Accesible e Inclusivo
      • Diseño Asistido por Inteligencia Artificial
      • Gestión de Producto y Liderazgo en Diseño
      • Diseño de Interacciones Emergentes (VUI/VR)
      • Desarrollo Web para Diseñadores
      • Diseño y Prototipado No-Code
    • Contenido Audiovisual
      • Fundamentos de Producción Audiovisual
      • Producción de Video para Plataformas Digitales
      • Producción de Audio y Podcast
      • Fotografía y Diseño Gráfico para Contenido Digital
      • Motion Graphics y Animación
      • Contenido Interactivo y Realidad Aumentada
      • Estrategia, Marketing y Monetización de Contenidos
    • Desarrollo Móvil
      • Fundamentos de Desarrollo Móvil
      • Desarrollo Nativo Android con Kotlin
      • Desarrollo Nativo iOS con Swift
      • Desarrollo Multiplataforma con React Native
      • Desarrollo Multiplataforma con Flutter
      • Arquitectura y Patrones de Diseño Móvil
      • Integración de APIs y Persistencia Móvil
      • Testing y Despliegue en Móvil
      • Diseño UX/UI para Móviles
    • Diseño Gráfico y Arte Digital
      • Fundamentos del Diseño Gráfico y Digital
      • Diseño de Identidad Visual y Branding
      • Ilustración Digital y Arte Conceptual
      • Diseño Editorial y de Empaques
      • Motion Graphics y Animación 3D
      • Diseño Gráfico Asistido por Inteligencia Artificial
      • Creatividad e Innovación en Diseño
    • Programación
      • Fundamentos de Programación e Ingeniería de Software
      • Herramientas de IA para el trabajo
      • Matemáticas para Programación
      • Programación con Python
      • Programación con JavaScript
      • Programación con TypeScript
      • Programación Orientada a Objetos con Java
      • Desarrollo con C# y .NET
      • Programación con PHP
      • Programación con Go y Rust
      • Programación Móvil con Swift y Kotlin
      • Programación con C y C++
      • Administración Básica de Servidores Linux
    • Negocios
      • Fundamentos de Negocios y Emprendimiento
      • Estrategia y Crecimiento Empresarial
      • Finanzas Personales y Corporativas
      • Inversión en Mercados Financieros
      • Ventas, CRM y Experiencia del Cliente
      • Operaciones, Logística y E-commerce
      • Gestión de Proyectos y Metodologías Ágiles
      • Aspectos Legales y Cumplimiento
      • Habilidades Directivas y Crecimiento Profesional
      • Diversidad e Inclusión en el Entorno Laboral
      • Herramientas Digitales y Automatización para Negocios
    • Blockchain y Web3
      • Fundamentos de Blockchain y Web3
      • Desarrollo de Smart Contracts y dApps
      • Finanzas Descentralizadas (DeFi)
      • NFTs y Economía de Creadores
      • Seguridad Blockchain
      • Ecosistemas Blockchain Alternativos (No-EVM)
      • Producto, Marketing y Legal en Web3
    • Recursos Humanos
      • Fundamentos y Cultura Organizacional en RRHH
      • Atracción y Selección de Talento
      • Cultura y Employee Experience
      • Gestión y Desarrollo de Talento
      • Desarrollo y Evaluación de Liderazgo
      • Diversidad, Equidad e Inclusión
      • AI y Automatización en Recursos Humanos
      • Tecnología y Automatización en RRHH
    • Finanzas e Inversiones
      • Fundamentos de Finanzas Personales y Corporativas
      • Análisis y Valoración Financiera
      • Inversión y Mercados de Capitales
      • Finanzas Descentralizadas (DeFi) y Criptoactivos
      • Finanzas y Estrategia para Startups
      • Inteligencia Artificial Aplicada a Finanzas
      • Domina Excel
      • Financial Analyst
      • Conseguir trabajo en Finanzas e Inversiones
    • Startups
      • Fundamentos y Validación de Ideas
      • Estrategia de Negocio y Product-Market Fit
      • Desarrollo de Producto y Operaciones Lean
      • Finanzas, Legal y Fundraising
      • Marketing, Ventas y Growth para Startups
      • Cultura, Talento y Liderazgo
      • Finanzas y Operaciones en Ecommerce
      • Startups Web3 y Blockchain
      • Startups con Impacto Social
      • Expansión y Ecosistema Startup
    • Cloud Computing y DevOps
      • Fundamentos de Cloud y DevOps
      • Administración de Servidores Linux
      • Contenerización y Orquestación
      • Infraestructura como Código (IaC) y CI/CD
      • Amazon Web Services
      • Microsoft Azure
      • Serverless y Observabilidad
      • Certificaciones Cloud (Preparación)
      • Plataforma Cloud GCP

    Platzi y comunidad

    • Platzi Business
    • Live Classes
    • Lanzamientos
    • Executive Program
    • Trabaja con nosotros
    • Podcast

    Recursos

    • Manual de Marca

    Soporte

    • Preguntas Frecuentes
    • Contáctanos

    Legal

    • Términos y Condiciones
    • Privacidad
    • Tyc promociones
    Reconocimientos
    Reconocimientos
    Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
    Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
    Logo reconocimientoPrimera Startup EdTech · 2018
    Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
    Logo reconocimientoCEO Mejor Emprendedor del año · 2024
    De LATAM conpara el mundo
    YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads