聊天視窗

數據洞察:從資料到決策的科學方法 - 第 2 章

第二章:資料的起點 — 從蒐集到清洗的實務流程

發布於 2026-02-21 01:10

# 第二章:資料的起點 — 從蒐集到清洗的實務流程 在資料科學的旅程中,**資料本身** 就是我們的羅盤。若羅盤失靈,無論我們的模型多麼先進,最終都可能走錯方向。此章將帶你從資料的根源出發,透過實務範例與最佳實踐,建立一套可重複、可追蹤的資料採集與清洗流程,讓後續分析與模型訓練有堅實基礎。 ## 1. 資料蒐集:打好第一步 > **「資料來源的質量,決定整個洞察的可信度。」** ### 1.1 來源多樣性與可重現性 - **內部資料**:CRM、ERP、交易系統。這些資料通常已具備商業邏輯,但往往分散於不同資料庫,格式不一致。 - **外部資料**:社群媒體、公開 API、第三方資料供應商。提供市場脈動與外部變數。 - **自動化抓取**:使用 `requests` + `BeautifulSoup` 或 `Scrapy`,將網頁資料轉成結構化表格。 > *實務提示*:在正式進行抓取前,先用小批量測試,確認資料結構是否會變動,避免後期大量資料無法抓取的風險。 ### 1.2 版本與記錄 - 使用 **資料湖**(如 AWS S3、Azure Data Lake)儲存原始檔案,並加上時間戳與版本號。 - 在資料庫中維護 **資料字典**,說明每個欄位的來源、格式、業務含義。 ### 1.3 資料合併與同步 - 利用 `pandas.merge()` 或 `spark.sql` 將多個來源合併,注意 **key 欄位** 的一致性。 - 建立 **ETL pipeline**,使用 Airflow 或 Prefect 定期執行,確保資料永遠保持最新。 ## 2. 資料清洗:把噪聲隔離 > **「乾淨的資料是高效模型的基石。」** ### 2.1 缺失值處理 | 方法 | 適用情境 | 例子 | |------|----------|------| | 刪除 | 缺失比例極低 | `df.dropna()` | | 插補 | 連續數值 | `df['age'].fillna(df['age'].median())` | | 先進插補 | 時序資料 | `df['sales'].interpolate(method='time')` | ### 2.2 異常值檢測 - **統計方法**:使用 Z-score、IQR; - **視覺化**:箱型圖、散點圖; - **機器學習**:Isolation Forest、Local Outlier Factor。 python from sklearn.ensemble import IsolationForest iso = IsolationForest(contamination=0.01) iso.fit(df[['feature1', 'feature2']]) mask = iso.predict(df[['feature1', 'feature2']]) == 1 clean_df = df[mask] ### 2.3 格式化與標準化 - **日期時間**:統一為 UTC,轉換為 `datetime` 格式。 - **文字欄位**:統一大小寫、去除前後空白,處理非 ASCII 字元。 - **類別編碼**:使用 `LabelEncoder` 或 `OneHotEncoder`;對於高基數類別,採用 `Target Encoding` 或 `Frequency Encoding`。 ### 2.4 資料治理與合規 - **隱私保護**:使用 K-anonymity、l‑diversity 或 differential privacy 進行去識別化。 - **合約與許可**:確保外部資料符合使用條款,避免版權糾紛。 - **資料存取權限**:透過 IAM、Role‑Based Access Control (RBAC) 限制資料存取。 ## 3. 資料探索:先見之明的起點 > **「探索性資料分析(EDA)是把未知轉為已知的關鍵階段。」** ### 3.1 統計摘要 python df.describe(include='all') - 查看均值、中位數、標準差、缺失比例。 ### 3.2 相關性與分布 - **相關矩陣**:`sns.heatmap(df.corr(), annot=True)`。 - **分布圖**:`sns.histplot(df['feature'])`。 ### 3.3 商業洞察映射 - 把 **商業指標**(ROI、營收、成本)與資料特徵做關聯分析。 - 建立 **KPI Dashboard**(Tableau / Power BI),即時追蹤業務表現。 ## 4. 資料質量指標(DQI)與監控 > **「質量不是一次設定,而是持續維護。」** | 指標 | 目標 | 監控工具 | |------|------|----------| | 完整度 | > 99% | Data Quality Framework (SQL, Great Expectations) | | 正確性 | 與來源一致 | Data Validation Scripts | | 一致性 | 同一欄位無衝突 | Schema Registry | | 時效性 | 近 24 小時 | Monitoring Dashboard | ## 5. 小結:從資料到洞察的橋梁 在本章,我們透過實際範例與工具,完成了從 **資料蒐集**、**清洗**、**探索**、至 **質量監控** 的完整流程。每一步都為後續模型建構與部署奠定了可靠基礎。未來的章節將進一步探討如何將乾淨、可靠的資料轉化為高效的機器學習模型,並將洞察落地於商業決策。