返回目錄
A
數據洞見:從原始數據到決策智慧 - 第 2 章
第2章:資料收集:從原始來源到可用資料
發布於 2026-03-05 22:22
# 第2章:資料收集:從原始來源到可用資料
資料科學的第一步,往往是從「把握資料」開始。當我們談到資料收集,實際上是關於如何系統化地從多元來源中抽取、驗證、以及準備能被機器學習模型直接使用的資訊。
## 2.1 為何資料收集是關鍵
- **資料品質的基石**:不良的資料來源往往會把問題放大。即使是最先進的模型,也難以彌補基礎數據的缺陷。
- **成本與風險管理**:在早期確認可取得的資料與其限制,能有效降低後期重複工作與合規風險。
- **決策可行性**:即使資料量龐大,但如果無法即時取得、存取與處理,將對業務決策產生時滞。
## 2.2 資料來源分類
| 類型 | 典型來源 | 優勢 | 風險 |
|------|----------|------|------|
| 內部結構化 | ERP、CRM、行銷平台 | 高度一致、易於整合 | 需要內部協調與授權 |
| 內部非結構化 | 電子郵件、聊天紀錄、工單 | 內容豐富、上下文完整 | 資料清洗成本高 |
| 外部結構化 | API、公開資料集 | 低成本、可擴展 | 法規與授權限制 |
| 外部非結構化 | 社群媒體、新聞、影像 | 真實世界語境 | 資料合法性與隱私問題 |
> **實務案例**:在「高聚類分數區域增設自動結帳機」專案中,我們先從POS系統的交易記錄(內部結構化)抽取客戶購物行為,再結合店內感測器的即時位移資料(內部非結構化),以構建客流熱點模型。
## 2.3 資料採集工具與技術
### 2.3.1 API 采集
python
import requests
api_url = 'https://api.example.com/v1/data'
headers = {'Authorization': 'Bearer YOUR_TOKEN'}
response = requests.get(api_url, headers=headers)
if response.status_code == 200:
data = response.json()
else:
print('取得失敗:', response.status_code)
- **優點**:可自動化、即時更新、易於監控。
- **缺點**:受限於 API 設計與頻率限制。
### 2.3.2 網路爬蟲
python
import requests
from bs4 import BeautifulSoup
url = 'https://www.example.com/products'
page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')
products = [tag.text for tag in soup.select('.product-title')]
- **優點**:彈性高、能抓取各種網站格式。
- **缺點**:可能觸及法律風險、對頁面結構高度依賴。
### 2.3.3 物聯網感測器
- 使用 MQTT 或 OPC-UA 等協定,將感測器資料直接推送至雲端資料倉儲。
- 建議採用 **Edge Computing** 進行初步資料預處理,減少頻寬與延遲。
## 2.4 資料治理與合規
| 原則 | 具體做法 |
|------|----------|
| 透明度 | 建立資料流向圖,向利害關係人說明資料來源與使用範圍 |
| 安全性 | 加密傳輸、存取控制、定期安全掃描 |
| 隱私保護 | 先進匿名化(k‑anonymity、l‑diversity)或資料去標識化 |
| 數據品質 | 自動化數據完整性檢查、重複資料合併 |
> **警示**:即使是內部資料,也可能因長期未審核而包含已失效或不合規元素。定期進行資料審計是維持合規的關鍵。
## 2.5 資料收集流程圖
[來源識別] → [授權確認] → [資料抓取] → [初步清洗] → [資料驗證] → [儲存至資料湖] → [資料治理]
- **備註**:每個步驟都應建立自動化測試、監控與日誌,以確保流程可追溯。
## 2.6 小結
- **結語**:資料收集不是一次性的任務,而是一個持續的迴圈。只有在資料品質與合法性都得到保障的前提下,才能把後續的探索與模型建構推向高效。
- **下一章預告**:在下一章,我們將聚焦於「資料清洗與轉換」,學習如何將「原始資料」轉化為模型可接受的結構。