Preparing Data for Machine Learning (ETL)

End-to-End Machine Learning: Titanic Survival Prediction

1 min read

Published Nov 18 2025, updated Aug 17 2026


10
0
0
0

KerasMachine LearningMatplotlibNumPyPandasPythonscikit-learnSciPySeabornTensorFlow

Machine learning requires:

  • No missing values
  • All numeric inputs
  • Encoded categorical variables
  • Train/test split

We define feature lists:

features = [    "pclass", "sex", "age", "sibsp", "parch",    "fare", "embarked", "class", "who", "alone"]target = "survived"data = titanic[features + [target]].copy()data["age"] = data["age"].fillna(data["age"].median())data["fare"] = data["fare"].fillna(data["fare"].median())data["embarked"] = data["embarked"].fillna(data["embarked"].mode()[0])

Split the data:

X_train, X_test, y_train, y_test = train_test_split(    data[features], data[target],    test_size=0.2, random_state=42, stratify=data[target])

Define numeric and categorical transformers:

numeric_features = ["age", "sibsp", "parch", "fare", "pclass"]categorical_features = ["sex", "embarked", "class", "who", "alone"]preprocessor = ColumnTransformer(    transformers=[        ("num", StandardScaler(), numeric_features),        ("cat", OneHotEncoder(handle_unknown="ignore"), categorical_features)    ])
© 2025 SimpleSteps.guide
AboutFAQPoliciesContact
End-to-End Machine Learning: Titanic Survival Prediction | Preparing Data for Machine Learning (ETL) | SimpleSteps.guide