Saltar navegación

Actividade 1: Exploración inicial dos datos

📌 Obxectivo

Copilot (CC BY-SA)

  
Analizarás o dataset do Titanic, comprenderás as súas características principais, identificarás valores nulos e realizarás unha primeira limpeza dos datos.

Abre o teu Caderno de programación

🖥️ Paso 1: Importar as librarías necesarias

Antes de traballar co dataset, asegurémonos de importar as librarías necesarias. No teu caderno de Colab,  executa o seguinte código:

Código Python: Cargar librerías necesarias

import pandas as pd # Incluímos pandas para traballar con datos
import seaborn as sns    #E seaborn para gráficos

📂 Paso 2: Cargar os datos

Hai varias formas de obter o dataset do Titanic. Aquí propoñoche dúas opcións(hai máis):

  1. Usando Seaborn (máis sinxelo, xa que Seaborn inclúe o dataset integrado):

    Código Python: Dataset Titanic con seaborn

    df = sns.load_dataset('titanic') 
    df.head(10) # Mostra as 10 primeiras filas do DataFrame
  2. Descargando desde Kaggle (se prefires un dataset máis completo):

    Ir a Kaggle Titanic Dataset e descargar o arquivo trainTitanic.csv (csv - 61194 B).

    Descargando dateset
    Creación propia. Descargando dataset (CC BY-SA)



    No menú da esquerda do teu caderno de Colab, fai clic en Arquivos (icono de carpeta).Fai clic en Subir e selecciona o ficheiro trainTitanic(ou o nome co que o gardaras).csv desde o teu computador. Se precisas volver acceder ao ficheiro despois de pechar Colab, terás que subilo de novo, porque os ficheiros cargados non se gardan permanentemente.

    Subir dataset a Colab
    Creación propia. Subir dataset a Colab (CC BY-SA)

    Código Python: Dataset Titanic desde Kaggle subido a Colab

    df = pd.read_csv("/content/trainTitanic.csv")  # Ruta do ficheiro en Colab  
    df.head(10) # Mostra as 10 primeiras filas do DataFrame

📋 Paso 3: Explorar a estrutura dos datos

Unha vez cargado o dataset, revisaremos a súa estrutura e as columnas dispoñibles.Vexamos como están organizados os datos. Executade:

Código Python:Estrutura dos datos

df.info()    

Este comando devolverá:

Cantidade de filas e columnas.

Tipo de datos de cada columna (int, float, object).

Cantidade de valores nulos en cada columna.

💡 Preguntas para reflexionar:

  • Cantas filas e columnas ten o dataset?
  • Que tipo de datos aparecen nas columnas?
  • Hai columnas categóricas e numéricas? Son todos numéricos ou hai texto?
  • Que columnas teñen valores nulos?
  • Que variables parecen importantes para prever a supervivencia?

❓ Paso 4: Identificación de valores nulos

A intelixencia artificial precisa datos limpos. Imos ver se hai problemas cos valores en branco. Para saber cantos valores nulos hai en cada columna, executade:

Código Python: Identificación de valores nulos

df.isnull().sum()    

Este comando mostra cantos valores están en branco ( faltan) en cada columna.

💡 Preguntas para reflexionar:

  • Que columnas teñen máis valores nulos? Cal é a columna con máis valores nulos?
  • Como poderiamos tratar os valores nulos para non perder información útil? Crees que é importante conservar eses datos ou debemos eliminalos?
  • Que impacto pode ter isto nos resultados do modelo? Como pode afectar a calidade do modelo se hai moitos valores nulos?

🛠️ Paso 5: Tratamento inicial de valores nulos

Agora decidiremos como xestionar os datos ausentes: Se hai moitos valores nulos, quizais sexa mellor eliminar esas filas e se unha columna ten poucos valores nulos, podemos simplemente substituílos cun valor representativo.

  • Se queres eliminar filas con valores nulos ou columnas completas , usa:

Código Python: Eliminar todas as filas con valores nulos, dunha columna en concreto ou unha columna enteira en concreto

# Descomenta a opción que queiras usar, ten COIDADO porque o borrado é permanente

#df_cleaned = df.dropna() # elimina todas as filas que conteñen valores nulos en calquera columna
#df_cleaned = df.dropna(subset=['Age']) # Só elimina filas con valores nulos en Age, cambia o nome se queres outra
#df_cleaned = df.drop(columns=['Cabin']) # Elimina toda a columna Cabin, cambia o nome se queres outra
  • Se prefires substituílos cos valores máis representativos (como a media ou a moda):

Código Python: Sustituir por un valor

# Substituír os valores nulos en Age pola media. Na columna Age, se queres outra debes cambiar o nome 
df['Age'] = df['Age'].fillna(df['Age'].mean())

# Substituír valores nulos en Embarked pola categoría máis común
df['Embarked'] = df['Embarked'].fillna(df['Embarked'].mode()[0]) #Na columna Embarked, se queres outra debes cambiar o nome    

(Se queres limitar o número de decimais que introduce nas idades, podes usar df['Age'] = df['Age'].fillna(round(df['Age'].mean(), 2)) # Arredonda a media a 2 decimais)

Podes volver visualizar os datos cos cambios con df.info()  e df.head(10) .

💡 Preguntas para reflexionar:

  • É mellor eliminar os valores nulos ou substituílos? Por que pode ser útil substituir valores nulos en vez de eliminar filas?
  • Como podemos decidir a mellor estratexia para tratar valores nulos? Que opción pode preservar máis información para o modelo?

✅Feito

Agora xa tendes unha visión clara dos datos cos que traballaredes. Este primeiro paso é fundamental porque un modelo nunca será mellor que os datos que recibe. Se os datos son desordenados, o modelo será erróneo. Se os datos son limpos e ben organizados, o modelo terá mellores predicións.

Autoavaliación

Lista de Cotexo

📂 Actividade 1: Exploración inicial dos datos

Esta lista axúdache a organizar e verificar o teu progreso nesta actividade.