No me agrada
df_data.isnull().sum()
Preferi utilizar las funciones missing que creamos en el curso de imputacion de valores faltantes.
Fundamentos de regresión logística
¿Qué es la regresión logística?
Tu primera clasificación con regresión logística
¿Cuándo usar regresión logística?
Fórmula de regresión logística
Regresión logística binomial
Preparando los datos
Análisis de correlación y escalabilidad de los datos
Análisis exploratorio de datos
Entrenamiento con regresión logística binomial
Evaluando el modelo (MLE)
Análisis de resultados de regresión logística
Regularizers
Regresión logística multinomial
Cómo funciona la regresión logística multiclase
Carga y preprocesamiento de datos multiclase
Análisis exploratorio y escalamiento de datos multiclase
Entrenamiento y evaluación de regresión logística multiclase
Conclusiones
Proyecto final y siguientes pasos
Comparte tu proyecto de regresión logística y certifícate
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Aportes 19
Preguntas 2
No me agrada
df_data.isnull().sum()
Preferi utilizar las funciones missing que creamos en el curso de imputacion de valores faltantes.
Otra forma de importar la data sin descargarla es usando el API de kaggle
!pip install opendatasets
import opendatasets as od
od.download('https://www.kaggle.com/datasets/blastchar/telco-customer-churn')
df_data = pd.read_csv('/content/telco-customer-churn/WA_Fn-UseC_-Telco-Customer-Churn.csv')
get_dummies duplica los features en “feature_yes” y “feature_No”, esto pudiera ser redundante. si no queremos tener esta “duplicidad” podemos utilizar:
df_data_processing = pd.get_dummies(df_data_processing, drop_first=True).
Como propuesta, deberían de incluir en la sección de recursos el archivo tipo plantilla. Para que podamos irlo rellenando nosotros
Por el momento los archivos que incluyen ya están respondidos.
errors='coerce'
indica que si no se puede convertir un elemento de la columna TotalCharges a un número, se debe reemplazar con un valor especial NaN (Not a Number)
Esto se conoce como “coerción” porque se está forzando la conversión a un tipo de datos numérico, y si no es posible, se está forzando el uso de NaN en su lugar
Hola, yo resolví todo el problema por mi cuenta antes de ver la explicación, cuando vi que la columna ‘TotalCharges’ estaba dada como categórica intenté convertirla a numérica con astype(float),sin embargo, me aparecía el problema d que ciertos valores " " no podían ser convertidos a numéricos, por lo que lo primero que hice fue determinar que valores estaban como vacíos en esa columna
Posteriormente procedí a eliminar estos valores y a convertir esta columna a numérica.
Al final resulta los mismo que hace el profesor usando pd.to_numeric ,solo que haciendo esto los valores vacíos pasan a ser NaN y luego se tienen que eliminar, lo comprobé creando otro dataset y comparando la columnas donde anteriormente habían valores vacíos
Esto es lo que hace la variable get.dummies más detalladamente:
Aquí hay una descripción de cómo funciona pd.get_dummies():
Entrada: La función toma como entrada un DataFrame de pandas que contiene una o más columnas con variables categóricas que deseas codificar.
Salida: pd.get_dummies() produce un nuevo DataFrame donde las columnas categóricas originales se han convertido en columnas binarias (0 o 1), una columna por categoría. Cada columna binaria representa una categoría específica y se llama “indicador” o “dummy variable”. Cuando una fila tiene una categoría, su columna correspondiente tendrá un valor de 1; de lo contrario, será 0.
Por ejemplo, si tienes una columna llamada “Color” con valores categóricos como “Rojo”, “Verde” y “Azul”, pd.get_dummies() generará tres nuevas columnas llamadas “Color_Rojo”, “Color_Verde” y “Color_Azul”, y asignará 1 o 0 según el color presente en cada fila.
Este proceso es útil en el análisis de datos y en la construcción de modelos de aprendizaje automático, ya que permite trabajar con variables categóricas en algoritmos que requieren datos numéricos, como regresión lineal, regresión logística y otros modelos. La codificación one-hot evita la asignación incorrecta de importancia numérica a las categorías y garantiza que cada categoría se trate de manera independiente en el modelo.
Recordemos que:
df_data.head(5)
es igual a escribir:
df_data.head()
Interesante este metodo de conversion, no sabia nada. Ahora si tengo ganas de mejorar mis capacidades.
Esto es lo que hace el comando dropna más el arugmento inpalce_True =
Entonces, cuando ejecutas df_data.dropna(inplace=True), elimina todas las filas en df_data que contienen valores nulos y aplica este cambio directamente en el DataFrame original df_data. El resultado es que df_data ahora contendrá solo las filas que no tienen valores nulos en ninguna de sus columnas. Las filas con valores nulos se han eliminado del DataFrame.
Comandos similares a la misma familia de comandos como dropna:
.fillna(): Este método se utiliza para rellenar valores nulos con un valor específico o una estrategia de relleno. Puedes proporcionar un valor constante, un diccionario de relleno por columna o utilizar métodos de interpolación.
.isnull() y .notnull(): Estos métodos te permiten crear máscaras booleanas que indican dónde se encuentran los valores nulos y no nulos en un DataFrame. Son útiles para filtrar o seleccionar datos basados en la presencia o ausencia de valores nulos.
.interpolate(): Este método se utiliza para realizar la interpolación de valores nulos en una serie o DataFrame. La interpolación calcula valores intermedios para rellenar los valores nulos basándose en los valores adyacentes.
.drop(): Aunque su nombre es similar al de .dropna(), el método .drop() se utiliza para eliminar filas o columnas específicas en un DataFrame, pero puedes especificar etiquetas de fila o columna en lugar de valores nulos.
.replace(): Este método se utiliza para reemplazar valores específicos, incluidos los valores nulos, por otros valores en un DataFrame.
.ffill() y .bfill(): Estos métodos se utilizan para rellenar valores nulos hacia adelante (ffill) o hacia atrás (bfill) utilizando el valor más cercano en la misma columna.
.melt(): Esta función se utiliza para realizar una operación de “melt” o “unpivot” en un DataFrame, lo que puede ayudar a lidiar con datos faltantes.
.combine_first(): Este método se utiliza para combinar dos DataFrames, rellenando los valores nulos en el DataFrame original con los valores del otro DataFrame.
Estos son algunos ejemplos de los métodos y funciones disponibles en pandas para el manejo de valores nulos y la limpieza de datos. La elección del método adecuado dependerá de la naturaleza de tus datos y del tipo de operación que necesites realizar.
Yo converti los valores del target usando where de numpy que es igual a los condicionales de excel
df_data['Churn'] = df_data['Churn'].apply(lambda x: np.where(x == 'Yes', 1, 0))
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?