泰坦尼克號資料集是資料科學和機器學習專案中使用的經典資料集。它包含有關泰坦尼克號乘客的信息,目標通常是預測哪些乘客在災難中倖存下來。在建立任何預測模型之前,預處理資料以確保資料乾淨且適合分析至關重要。這篇部落格文章將引導您完成使用 Python 預處理泰坦尼克號資料集的基本步驟。
任何資料分析專案的第一步都是載入資料集。我們使用 pandas 函式庫讀取包含泰坦尼克號資料的 CSV 檔案。此資料集包括姓名、年齡、性別、機票、票價以及乘客是否倖存(Survived)等特徵。
import pandas as pd import numpy as np
載入泰坦尼克號資料集
titanic = pd.read_csv('titanic.csv') titanic.head()
資料集包含以下與泰坦尼克號乘客相關的變數:
生存:表示乘客是否倖存。
Pclass:乘客的機票艙位。
性別:乘客的性別。
年齡:乘客的年齡(以歲為單位)。
SibSp:泰坦尼克號上的兄弟姊妹或配偶數量。
Parch:泰坦尼克號上的父母或兒童人數。
票:票號。
票價:客運票價。
客艙:客艙編號。
登船:登船港。
探索性資料分析 (EDA) 涉及檢查資料集以了解其結構以及不同變數之間的關係。此步驟有助於識別資料中的任何模式、趨勢或異常。
資料集概述
我們首先顯示資料集的前幾行並取得統計資訊摘要。這讓我們了解資料類型、值的範圍以及是否存在任何缺失值。
# Display the first few rows print(titanic.head()) # Summary statistics print(titanic.describe(include='all'))
資料清理是處理缺失值、更正資料類型和消除任何不一致的過程。在泰坦尼克號資料集中,Age、Cabin 和 Embarked 等特徵存在缺失值。
處理缺失值
為了處理缺失值,我們可以用適當的值填充它們或刪除缺失資料的行/列。例如,我們可以用年齡中位數填滿缺少的 Age 值,並刪除缺少 Embarked 值的行。
# Fill missing age values with the mode titanic['Age'].fillna(titanic['Age'].mode(), inplace=True) # Drop rows with missing 'Embarked' values titanic.dropna(subset=['Embarked'], inplace=True) # Check remaining missing values print(titanic.isnull().sum())
特徵工程涉及改造現有特徵以提高模型性能。此步驟可以包括對分類變數進行編碼以縮放數值特徵。
編碼分類變數
機器學習演算法需要數值輸入,因此我們需要將分類特徵轉換為數值特徵。我們可以對 Sex 和 Embarked 等功能使用 one-hot 編碼。
# Convert categorical features to numerical from sklearn import preprocessing le = preprocessing.LabelEncoder() #fit the required column to be transformed le.fit(df['Sex']) df['Sex'] = le.transform(df['Sex'])
預處理是任何資料科學專案中的關鍵步驟。在這篇文章中,我們介紹了載入資料、執行探索性資料分析、清理資料和特徵工程的基本步驟。這些步驟有助於確保我們的資料已準備好進行分析或模型建置。下一步是使用這些預處理的數據來建立預測模型並評估其性能。如需進一步了解,請查看我的 Colab 筆記本
透過遵循這些步驟,初學者可以在資料預處理方面打下堅實的基礎,為更進階的資料分析和機器學習任務奠定基礎。快樂編碼!
以上是如何預處理資料集的詳細內容。更多資訊請關注PHP中文網其他相關文章!