Regresión lineal en Python

Regresión lineal en Python

En el análisis de datos, los influenciadores clave son variables que tienen un impacto significativo en una variable dependiente. En otras palabras, son los factores que más contribuyen al resultado de interés. En Python, la regresión lineal se usa para identificar personas influyentes clave en un conjunto de datos y para medir la fuerza y ​​la dirección de la relación entre diferentes variables. Puedes ver el video completo de este tutorial en la parte inferior de este blog .

La identificación de personas influyentes clave puede ser útil para comprender las relaciones subyacentes en un conjunto de datos y para hacer predicciones sobre resultados futuros.

Las bibliotecas de Python proporcionan una variedad de herramientas y funciones para realizar análisis de regresión e identificar personas influyentes clave en un conjunto de datos.

Tabla de contenido

Usando un modelo de regresión lineal

En este artículo, mostraré cómo puede usar un modelo de regresión lineal para imitar a algunas de las personas influyentes clave de LuckyTemplates. Nuestro objetivo es usar todas nuestras variables para poder describir lo que está cambiando en otra variable.

Los influenciadores clave de LuckyTemplates son un modelo de regresión lineal. A menudo usamos esto aunque no sabemos exactamente qué hay debajo del capó. En este tutorial, uso esto para identificar los factores que contribuyen a los cargos del seguro.

Regresión lineal en Python

Echemos un vistazo al conjunto de datos de los cargos del seguro. Quiero que esto se explique por el estado de fumador, el sexo, la región, los niños, el IMC y la edad.

Regresión lineal en Python

Actualmente, los influenciadores clave muestran la variable más influyente. Cuando el fumador es sí, el cargo promedio es de $23,615 unidades más alto en comparación con todos los demás valores de un fumador.

Es un gran visual, pero no nos da ninguna otra variable que pueda afectar los cargos.

Regresión lineal en Python

Profundicemos en esto cambiando el menú desplegable de Aumentar a Disminuir .

Esta vez, es todo lo contrario. Si no es fumador, el cargo promedio es de $23,615 unidades más bajo en comparación con todos los demás valores de un fumador.

Regresión lineal en Python

Como puede ver, este es un modelo de regresión lineal que construí con algunos códigos de Python y lo conecté a LuckyTemplates con un formato condicional mínimo .

En términos de codificación, tenemos control total sobre ella, y verás cómo construí esto como una alternativa o un complemento a la imagen de los influencers clave.

Regresión lineal en Python

Pasemos al Cuaderno de Júpiter. Para una mejor comprensión, permítanme explicarlos parte por parte.

Regresión lineal en Python

Bibliotecas de Python utilizadas

La primera parte es donde cargué todas las bibliotecas que quiero usar. Si no está familiarizado con las bibliotecas, son colecciones de códigos y funciones que los desarrolladores han creado para nosotros.

Importé pandas como pd , que es una biblioteca de manipulación de datos, y numpy como np para permitirnos hacer cálculos lineales y condicionales.

Modelos utilizados

Hablemos de los modelos que usé. Traje sklearn.linear_model , que es una , y usé un modelo de regresión lineal. En caso de que lo necesitemos, también traje sklearn.preprocessing import StandardScaler que nos permitirá escalar nuestros datos.

Otro modelo que uso se llama xgboost import XGBRegressor . Es un modelo de regresión con un árbol de decisiones y otros aspectos útiles.

Además, también utilicé train_set_split porque quiero poder dividir los datos entre un conjunto de entrenamiento y un conjunto de aprendizaje. En Machine Learning, necesitamos un conjunto de datos de entrenamiento para que el algoritmo aprenda antes de hacer predicciones.

También incorporé mean_squared_error para determinar el modelo y la biblioteca matplotlib.pyplot en caso de que queramos hacer algunas imágenes.

Es posible que no usemos todos estos, pero podría ser útil, así que los puse todos.

Regresión lineal en Python

Conjunto de datos utilizado

A continuación, echemos un vistazo rápido al conjunto de datos. Usé la función df = pd.read_csv para traer el conjunto de datos del seguro y luego convertí los datos en variables ficticias usando df1 = pd.get_dummies (df, drop_first = True) .

Regresión lineal en Python

Para hacer esto, creemos una nueva celda presionando Esc + B en nuestro teclado y luego escribamos df.head para evaluar los datos.

Tenemos la edad, el sexo, el IMC, los niños, el fumador, la región y los cargos que queremos predecir como nuestra variable dependiente. Estos son los datos que llegan sin estar preparados para el aprendizaje automático.

En el aprendizaje automático, no podremos usar variables categóricas como femenino, masculino, suroeste y noroeste. Por lo tanto, lo primero que debemos hacer si se trata de un modelo de regresión típico es traducir las variables categóricas a entrada numérica. 

Regresión lineal en Python

Para hacer eso, usé la función pd.get_dummies y luego también cambié esto a una columna numérica cambiando df.head a df1.head . Hagamos clic en el botón Ejecutar para mostrar cómo se ve.

Regresión lineal en Python

Ahora podemos ver esta nueva colección de columnas como sex_male , smoker_yes , region_northwest , etc. El algoritmo sabe automáticamente que si es 1 significa que sí y 0 significa que no.

Notablemente, no hay sex_female y region_northeast porque no queremos complicar demasiado el modelo. Los descartamos usando la función drop_first = True .

Lo siguiente que hice fue incorporar la función LinearRegression y guardarla en el modelo variable. 

También creé variables X e Y para predecir nuestras variables Y y luego incorporé todas las demás columnas para nuestros predictores utilizando el mismo conjunto de datos que usamos anteriormente.

Regresión lineal en Python

Para la variable X, usamos df1.drop ('cargos', eje=1) para eliminar cargos. Por otro lado, necesitamos cargos para la variable Y, por eso ponemos df1['charges'] .

Con las siguientes funciones, creé conjuntos de prueba y entrenamiento para X e Y usando la función train_test_split y los pasé a las variables X e Y.

Además, utilicé model.fit para ajustar los datos de entrenamiento a nuestro modelo. Esto significa que el modelo de regresión lineal aprenderá los datos de entrenamiento. 

Regresión lineal en Python

Esta vez, echemos un vistazo a nuestros predictores. La forma en que vemos esto es a través de coeficientes porque describen cómo cada una de estas características o variables afectan los cargos.

También es notable que el número de coeficiente para smoker_yes es muy cercano si lo compara con el número que tenemos para los influenciadores clave y en nuestro modelo. 

Para crear una tabla donde tenemos las características y los coeficientes, utilicé pd.DataFrame para incorporar los coeficientes a la tabla y crear la imagen.

Regresión lineal en Python

Regresión lineal en Python

Uso de diferentes modelos para los principales influenciadores visuales

También es recomendable utilizar diferentes modelos para conseguir los influencers clave incorporando XGB.Regressor

Cuando representamos el modelo, es solo una regresión lineal simple; pero cuando trajimos XGB.Regressor, hay muchos parámetros que podemos usar para optimizar el modelo.

Regresión lineal en Python

También reproduje estas funciones cuando creé el marco de datos a continuación. Estos coeficientes son muy diferentes en comparación con lo que vimos en la regresión lineal.

Regresión lineal en Python

Con esta tabla, los números son exactos. Por ejemplo, si fuma, sus cargos aumentarán en $23,787. Si tiene un hijo, aumentará $472, y así sucesivamente.

Regresión lineal en Python

Estos influencers también son importantes porque reflejan lo que tenemos en la tabla de regresión lineal. Es un poco diferente pero muy cercano porque estos influencers suman uno. Esta es solo una forma diferente de ver a los influencers.

Regresión lineal en Python

Prueba de la precisión del análisis de regresión lineal

Después de eso, queremos ver la precisión de nuestro modelo, por eso usamos y_pred = model.predict (X_test) . Se le ocurrió una predicción de que estaba mal en 5885.7. 

Este es solo un conjunto de datos de prueba y, ya sea que la predicción sea buena o mala, aún debemos evaluarla. No vamos a hacer eso en este momento ya que solo nos estamos enfocando en nuestras personas influyentes clave. 

Regresión lineal en Python

Volviendo a LuckyTemplates, le mostraré cómo pongo esto muy fácilmente. Esta es una tabla aparte donde puedes ver las características y los influencers. 

Regresión lineal en Python

Lo hice yendo a Transform data .

Regresión lineal en Python

Luego, dupliqué mi conjunto de datos y pude crear esta tabla. También podemos ir a los Pasos aplicados para ver el código de Python y revisar las variables que usamos.

Regresión lineal en Python

Abramos el script de Python haciendo doble clic en él. 

Regresión lineal en Python

Trajimos nuestras bibliotecas. Lo convertimos en un conjunto de datos de preprocesamiento de aprendizaje automático que era solo ceros y unos. 

Además, trajimos un modelo de regresión, creamos nuestra X e Y para ajustar los datos y luego guardamos la tabla como salida. El modelo es lo suficientemente bueno, por lo que no utilicé un conjunto de prueba de entrenamiento.

Otra cosa que hice fue cambiar el conjunto de datos a df porque es más fácil de escribir. El conjunto de datos es la variable de los datos originales.

Con esta tabla, la guardé como salida, por eso tenemos estos coeficientes.

Regresión lineal en Python

Para traer esto como una imagen, haga clic en Cerrar y aplicar .

Regresión lineal en Python

Ahora tenemos un gráfico de barras . También utilicé el formato condicional para mostrar los aspectos positivos y negativos.

Regresión lineal en Python


Cómo instalar DAX Studio y el editor tabular en LuckyTemplates
Configurar los ajustes de consulta en LuckyTemplates DAX Studio
Parámetros de LuckyTemplates a través del editor de consultas

Conclusión

En conclusión, comprender a los influenciadores clave e implementar la regresión lineal en Python puede ser una herramienta poderosa para el análisis y la predicción de datos.

Al identificar los factores clave que afectan una variable dependiente y usar la regresión lineal para modelar sus relaciones, podemos comprender y predecir mejor los resultados futuros .

Con el uso de las potentes bibliotecas de Python, es fácil implementar la regresión lineal y extraer información significativa de los datos.

Mis mejores deseos,


Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Descubra cómo calcular el total de transacciones realizadas en los últimos N días y obtenga información útil utilizando la inteligencia de tiempo en LuckyTemplates.

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

En este tutorial, demuestro cómo mostrar clústeres en sus datos permite extraer información valiosa usando técnicas DAX avanzadas.

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

En este tutorial, aprenderá a calcular la <strong>población actual del personal</strong> para las relaciones múltiples de la tabla de calendario mediante la función COUNTROWS y FILTER en LuckyTemplates.

Hacer una solicitud HTTP en Power Automate

Hacer una solicitud HTTP en Power Automate

Aprenda a crear una solicitud HTTP con Power Automate y cómo implementar soluciones efectivas para la automatización de tareas.

Programe un flujo de escritorio para que se ejecute en Power Automate

Programe un flujo de escritorio para que se ejecute en Power Automate

En este tutorial, aprenda cómo programar un flujo de escritorio en Power Automate para automatizar tareas en la web y su escritorio.

Power Automate Terminar Control de acción en flujos

Power Automate Terminar Control de acción en flujos

Aprenda a usar correctamente el control Terminar acción de Power Automate que termina las acciones en un flujo si no se cumple alguna de las condiciones.

Power Query: combinar archivos de varias carpetas

Power Query: combinar archivos de varias carpetas

Aprenda a combinar archivos de varias carpetas en su red, escritorio, OneDrive o SharePoint utilizando Power Query.

Tipos de flujo de Power Automate y cuándo usarlos

Tipos de flujo de Power Automate y cuándo usarlos

En este blog, analizamos las similitudes y diferencias entre los tipos de flujo de Power Automate y determinamos cuándo usar cada flujo. Encuentra la mejor opción de automatización.

Conectores de Power Automate: número, texto y fecha y hora

Conectores de Power Automate: número, texto y fecha y hora

Familiarízate con algunos conectores Power Automate integrados que transforman cadenas en otro formato: número, texto y fecha y hora.

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Este tutorial detallado sobre el analizador VertiPaq en DAX Studio le enseñará cómo usar la pestaña Relaciones para optimizar su DAX y resolver problemas de integridad referencial.