CursosEmpresasBlogLiveConfPrecios

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

Clase 10 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
  • 2
    Análisis de datos para tu primera regresión lineal

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

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

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

    14:01
Cómo funciona la regresión lineal
  • 4
    ¿Qué es la regresión lineal?

    ¿Qué es la regresión lineal?

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

    Cuándo utilizar un modelo de regresión lineal

    03:53
  • 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
  • 7
    Evaluando el modelo: R^2 y MSE

    Evaluando el modelo: R^2 y MSE

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

Regresión lineal multivariable
  • 8
    Regresión lineal multivariable

    Regresión lineal multivariable

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

    Análisis de regresión multivariable

    14:20
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
  • 11
    Exploración y preparación de datos

    Exploración y preparación de datos

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

    Análisis de correlación de los datos

    09:57
  • 13
    Entrenamiento del modelo

    Entrenamiento del modelo

    10:40
  • 14
    Evaluando el modelo

    Evaluando el modelo

    13:20
  • 15
    Mejorando el modelo

    Mejorando el modelo

    13:59
  • 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
  • 17
    Siguientes pasos en modelos de inteligencia artificial

    Siguientes pasos en modelos de inteligencia artificial

    02:11
  • 18

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

    00:00
    Sandy Paola Atencio Hernández

    Sandy Paola Atencio Hernández

    student•
    hace 4 años

    viendo el dataset se me ocurriría analizar la edad, pues tengo la curiosidad de saber si a mayor edad los cargos de los gastos médicos serán altos, o si a mayor cantidad de hijos serán altos esos gastos, también me gustaría analizar que sexo es el que predomina en gastos médicos, o también si la ubicación en este caso la region influye sobre el cargo.

      Juan R. Vergara M.

      Juan R. Vergara M.

      student•
      hace 3 años

      ¡Adelante!

      Julián Cárdenas

      Julián Cárdenas

      student•
      hace 2 años

      También esta en la sección de recursos del curso

    Héctor Daniel González Vargas

    Héctor Daniel González Vargas

    student•
    hace 4 años

    Función para detectar valores atípicos en las variables numéricas continuas del dataset:

    def detect_otliers(x): Q3 = Datos[x].quantile(0.75) Q1 = Datos[x].quantile(0.25) IQR = Q3 - Q1 superior = Q3 + (1.5 * IQR) inferior = Q1 - (1.5 * IQR) out_sup = Datos[Datos[x] > superior].index out_inf = Datos[Datos[x] < inferior].index outliers = [] for i in out_sup: outliers.append(i) for j in out_inf: outliers.append(j) size = len(outliers) return (f'Hay {size} valores atípicos en la variable {x}, y corresponden a los índices: {outliers}') detect_otliers('bmi') 'Hay 8 valores atípicos en la variable bmi, y corresponden a los índices: [115, 285, 400, 843, 856, 1043, 1084, 1310]'
      Julián Cárdenas

      Julián Cárdenas

      student•
      hace 2 años

      Wow que buen trabajo, gracias!!

      Ronal Leiva

      Ronal Leiva

      student•
      hace un año

      Gracias por compartir tu idea, se puede simplificar, reemplazando los bucles por el método extend.

      def detect_outliers(x): Q3 = Datos[x].quantile(0.75) Q1 = Datos[x].quantile(0.25) IQR = Q3 - Q1 superior = Q3 + (1.5 * IQR) inferior = Q1 - (1.5 * IQR) out_sup = Datos[Datos[x] > superior].index out_inf = Datos[Datos[x] < inferior].index outliers = [] outliers.extend(out_sup) outliers.extend(out_inf) size = len(outliers) return (f'Hay {size} valores atípicos en la variable {x}, y corresponden a los índices: {outliers}') print(detect_outliers('bmi')) 'Hay 9 valores atípicos en la variable bmi, y corresponden a los índices: [116, 286, 401, 543, 847, 860, 1047, 1088, 1317]' ````def detect_outliers(x`): ` Q3 = Datos[x].quantile(0.75`) ` Q1 = Datos[x].quantile(0.25`) &#x20; IQR = Q3 - Q1 ` superior = Q3 + (1.5` \* IQR) ` inferior = Q1 - (1.5` \* IQR) &#x20; out\_sup = Datos\[Datos\[x] > superior].index &#x20; out\_inf = Datos\[Datos\[x] < inferior].index &#x20; outliers = \[] &#x20; outliers.extend(out\_sup) &#x20; outliers.extend(out\_inf) &#x20; &#x20; ` size = len`(outliers) &#x20; &#x20; ` return (f'Hay {size} valores atípicos en la variable {x}, y corresponden a los índices: {outliers}'`) `# Ejemplo de uso` `print(detect_outliers('bmi'))`&#x20;
    Jesús Andrés Báez Pérez

    Jesús Andrés Báez Pérez

    student•
    hace 3 años

    Observaciones del dataset

    Es obvio que la prima del seguro va depender de la salud fisica del asegurado por lo que el indice de masa corporal y saber si es fumador van a estar correlacionadas, el número de hijos támbien lo encuentro lógico que haya una correlación, si hay más integrantes en una familia, hay más posibilidades de usar el seguro de gastos medicos, lo interesante sería análizar si hay una correlación de la prima del seguro con la región donde vive.

    Variables categoricas:

    • Genéro
    • Indicador si Fuma
    • Region donde vive

    Variables númericas: Enteros - Edad del asegurado - Número de hijos Flotantes - Indice de masa corporal - Prima del seguro

    Carlos Andrés Pinilla Castillo

    Carlos Andrés Pinilla Castillo

    student•
    hace 3 años

    En Colombia, el sistema de salud se maneja con EPSs(Entidades Prromotoras de Salud) que son como aseguradoras. El gobierno da a cada EPS una prima por cada asegurado. El sistema de salud debe ajustar un valor de esa prima por cada asegurado solo con los datos de la edad, la region donde vien y el sexo. Es muy complejo obtener un modelo con tan pocos datos. Se deberia poder usar datos de la famila, y tratamientos previos para ajustar un modelo razonalble.

    Jhon Freddy Tavera Blandon

    Jhon Freddy Tavera Blandon

    student•
    hace 2 años

    Plotly

    Captura de pantalla 2023-06-17 104803.png

    Este código utiliza la biblioteca Plotly para crear una figura 3D con una superficie basada en las predicciones del modelo y puntos dispersos representando los datos reales. Puedes personalizar la apariencia de la gráfica según tus preferencias modificando los parámetros en el código.

      Diego Jurado

      Diego Jurado

      student•
      hace 2 años

      Sabes de algun curso en Platzy sobre plotly?

      jabes nestor frias martinez

      jabes nestor frias martinez

      student•
      hace 2 años

      No hay todavia ojala y saquen uno porque la doumentacion no esta sencilla

    Juan R. Vergara M.

    Juan R. Vergara M.

    student•
    hace 3 años

    Este curso cada vez se pone mejor.

      Alberto Gonzalez

      Alberto Gonzalez

      student•
      hace 3 años

      Y bien mejor!

    Víctor Trigo

    Víctor Trigo

    student•
    hace 2 años
    import seaborn as sns sns.pairplot(data)
    pairplot.png
      Víctor Trigo

      Víctor Trigo

      student•
      hace 2 años

      Me llama la atención el gráfico de abajo a la izquierda (o arriba a la derecha, ya que es simétrico), pareciera que se requieren 3 modelos de regresión o incluir una variable categórica

    Joel Orellana

    Joel Orellana

    student•
    hace 3 años

    Algo que a primera vista me sorprendió es ver que el BMI tiene una distribución normal

    Wilson Tumiña Tumiña

    Wilson Tumiña Tumiña

    student•
    hace 3 años

    Ya había estado en la página de Kaggle antes de ver este curso, reforzando clases de la U con este buen curso de Platzi.

    Andres Martin

    Andres Martin

    student•
    hace 3 meses

    note que entre mas años tenga la persona mayor seran los gastos

    Juan Acevedo

    Juan Acevedo

    student•
    hace 4 meses

    Aquí ya viendo el dataset y cargándolo , me doy cuenta que podríamos utilizar las variables de genero y si fuma o no , ya que son variables binarias , que fácilmente se pueden mapear para utilizar también como información al momento de entrenar

    Mario Alexander Vargas Celis

    Mario Alexander Vargas Celis

    student•
    hace 4 meses

    La regresión lineal es una técnica muy útil para predecir los gastos médicos de pacientes si cuentas con variables numéricas relevantes como:

    • Edad (age)
    • IMC (bmi)
    • Número de hijos (children)
    • Sexo (sex)
    • Fumador (smoker)
    • Región (region)

    Estas variables se pueden usar como características (X) para predecir el gasto médico (charges).

    🧠 ¿Por qué usar regresión lineal?

    Porque es una forma de modelar cómo distintas características influyen en el resultado (en este caso, los gastos médicos). Por ejemplo:

    • Fumar puede aumentar el gasto.
    • Mayor edad también suele estar asociada a mayores gastos.
    • Un IMC alto podría correlacionarse con más problemas de salud.

    ✅ Ejemplo básico con Python y scikit-learn

    import pandas as pd import numpy as np from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler, OneHotEncoder from sklearn.compose import ColumnTransformer from sklearn.pipeline import Pipeline

    # Carga de datos (puedes usar un dataset como el de 'insurance.csv') df = pd.read_csv('insurance.csv')

    # Variables numéricas y categóricas numeric = ['age', 'bmi', 'children'] categorical = ['sex', 'smoker', 'region']

    # Separar variables predictoras y objetivo X = df[numeric + categorical] y = df['charges']

    # Preprocesamiento: estandarizar numéricas y one-hot encoding a categóricas preprocessor = ColumnTransformer([ ('num', StandardScaler(), numeric), ('cat', OneHotEncoder(drop='first'), categorical) ])

    # Pipeline con regresión lineal model = Pipeline([ ('preprocess', preprocessor), ('regressor', LinearRegression()) ])

    # División de los datos X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

    # Entrenamiento model.fit(X_train, y_train)

    # Evaluación from sklearn.metrics import r2_score, mean_squared_error

    y_pred = model.predict(X_test) print('R²:', r2_score(y_test, y_pred)) print('MSE:', mean_squared_error(y_test, y_pred))

    📊 Interpretación

    • R² indica qué tan bien el modelo explica los datos (más cerca a 1 = mejor).
    • MSE indica el error medio al predecir los gastos (menor = mejor).
    Brayam Fabian Ruiz Zapata

    Brayam Fabian Ruiz Zapata

    student•
    hace 4 años

    Como se podría predecir dos variables numéricas tipo plano cartesiano ? A partir de varios features?

      Luis Fernando Laris Pardo

      Luis Fernando Laris Pardo

      student•
      hace 4 años

      En scikit learn no es tan complejo porque lo que tienes que hacer es declarar y como una variable de dos dimensiones, es decir y=data[['columna1', 'columna2']] y con eso funciona. puedes ver un poco más de esto acá

      Brayam Fabian Ruiz Zapata

      Brayam Fabian Ruiz Zapata

      student•
      hace 4 años

      Con esto podría predecir la ubicación de un robot a partir de la lectura de varios sensores ? Es decir dependiendo de los sensores saber en un plano xy la posición ?

    Patricio Sánchez Fernández

    Patricio Sánchez Fernández

    student•
    hace 8 meses

    Seria interesante ver la relación de Índice de masa corporal relacionado con los gastos médicos. Hay un dato que no está en la data set, tiene relación con los hábitos alimenticios de la población americana, a ellos les encanta la comida chatarra, por tanto, a mayor IMC mayor es el deterioro de la salud, lo que implicaría mayor gasto médico. Claro, es una suposición sin haber analizado ningún dato. Habrá que ver si tiene sustento, basado en los datos.

    Antonio Demarco Bonino

    Antonio Demarco Bonino

    student•
    hace un año

    Ya me puse a jugar un poco:

    sns.set(style='whitegrid', context='notebook') plt.figure(figsize=(12, 10)) columns = ['age', 'sex', 'bmi', 'children', 'charges'] sns.pairplot(df[columns], height=3) plt.show()
    Mauricio Escobar

    Mauricio Escobar

    student•
    hace 2 años

    creo que la variable region sería interesante de analizar para sabér qué tanto influye la ubicación del sujeto de estudio a la hora de contratar un seguro. Obteniendo algo parecido a por ejemplo:

    • El seguro de alguien del northwest podría ser más caro a los contratados en southwest. Claro, este sería el punto de partida, después lo interesante será encontrar el por qué.
    Cesar Fernandez

    Cesar Fernandez

    student•
    hace 2 años

    Tras ver los datos se pueden hacer 3 hipótesis:

    • La Prima del seguro será menor cuanto más joven sea la persona
    • Que una persona sea fumadora, tiene más peso que tener hijos o vivir en una zona determinada(un joven fumador de 18 años pagará más que una señora de 50 años)
    • El índice de masa corporal no es un factor influyente si se mantiene dentro de un promedio adecuado a la edad y género de la persona(ya sea excediendo o teniendo un valor muy bajo)
    Sebastian Castaño Zuluaga

    Sebastian Castaño Zuluaga

    student•
    hace 2 años

    Antes de ver a detalle las categorías de cada variable pensé que la variable región tendría muchas categorías y que eso causaría problemas al implementar la regresión , pero solo tiene 2

    Anuar Manuel Monterrosa Bedoya

    Anuar Manuel Monterrosa Bedoya

    student•
    hace 2 años

    Teniendo en cuento los datos me gustaría analizar el IBM con la edad, ya que se habla mucho que hoy en día los niños están sufriendo de obesidad, igual la relación de la edad con los costos en salud, es bien conocido que a mayor edad más propensos estamos a enfermarnos porque la vida nos empieza a pasar factura por malos habitos de vida.

    Dave Sanchfor

    Dave Sanchfor

    student•
    hace 2 años

    Algo que note en el dataset es que 3 de las 7 columnas no son numericas ('region', 'sex', 'smoker')

    • smoker = catogira binaria

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