🏆深度觀念與實務細節
第 1 題:在 CRISP-DM 流程中,確認模型是否達到「專案最初設定的商業成功指標(KPI)」是在哪一個階段進行?
A) 資料理解 (Data Understanding)
B) 建立模型 (Modeling)
C) 評估 (Evaluation)
D) 部署 (Deployment)
正確解答:C
教練解析: 在端上桌(部署)前,必須先評估模型能不能解決商業問題。就像新菜研發後要請主管試吃,看符不符合客人期待。
第 2 題:決定要使用「隨機森林 (Random Forest)」還是「支援向量機 (SVM)」來進行分類預測,屬於 CRISP-DM 的哪一個階段?
A) 建立模型 (Modeling)
B) 資料準備 (Data Preparation)
C) 商業理解 (Business Understanding)
D) 評估 (Evaluation)
正確解答:A
教練解析: 選擇並執行演算法就是建立模型的核心。這就像選擇要用「煎、煮、炒、炸」哪種烹飪方式。
第 3 題:在 CRISP-DM 的「資料理解 (Data Understanding)」階段,通常會進行下列哪一項工作?
A) 清洗資料並補齊所有的缺失值
B) 收集初步資料並進行探索性資料分析 (EDA) 以檢查資料品質
C) 定義專案的投資報酬率 (ROI)
D) 將模型打包成 API 供前端呼叫
正確解答:B
教練解析: 這個階段重點是「看」資料長什麼樣(EDA),還沒開始動刀修改(洗菜)。
第 4 題:CRISP-DM 第一步「商業理解 (Business Understanding)」的最終產出文件通常是什麼?
A) 特徵工程說明書
B) 乾淨且格式統一的資料集 (Data Set)
C) 訓練好的機器學習模型檔案 (.pkl)
D) 專案計畫書與衡量成功的商業指標 (KPI)
正確解答:D
教練解析: 第一步就是要白紙黑字寫下目標,確認「怎樣才算成功」。
第 5 題:若在「資料準備」階段發現資料欄位無法滿足需求(如預測房價卻只有顏色資料),最合理的下一步是什麼?
A) 硬著頭皮建立模型
B) 直接進入部署階段
C) 退回「資料理解」或「商業理解」階段,重新評估目標或來源
D) 把顏色做 One-Hot Encoding
正確解答:C
教練解析: 巧婦難為無米之炊。食材不對就要回頭找菜,或跟老闆協商降低目標。
第 6 題:在 ETL 流程中,將日期格式從「2026/04/18」統一轉換為「2026-04-18」,屬於哪一階段?
A) Extract (萃取)
B) Transform (轉換)
C) Load (載入)
D) Transfer (傳輸)
正確解答:B
教練解析: 改變資料的「樣貌」或「格式」,對應的是 Transform。
第 7 題:關於 ETL 的「Load (載入)」,下列敘述何者最準確?
A) 將清洗後的資料寫入目標端(如:資料倉儲或資料湖)。
B) 將資料載入機器學習模型中訓練。
C) 從外部 API 載入原始資料。
D) 將缺失值載入為平均數。
正確解答:A
教練解析: L 的終點是儲存系統。把食材放進大冰箱儲存就是 Load。
第 8 題:現代大數據常提的「ELT」架構,與傳統「ETL」的最大差異是什麼?
A) ELT 完全不需要做 Transform。
B) 先將原始資料萃取並「載入 (Load)」到目標資料庫,需要分析時再利用其運算力進行「轉換 (Transform)」。
C) ELT 只能處理結構化資料。
D) ELT 是演算法名稱。
正確解答:B
教練解析: ELT 是「先存再算」,得益於雲端資料庫(如 BigQuery)強大的運算能力。
第 9 題:為了符合 GDPR,將資料庫中的「客戶身分證字號」進行遮蔽 (Masking) 處理,應發生在 ETL 的哪一階段?
A) Extract (萃取)
B) Transform (轉換)
C) Load (載入)
D) Export (匯出)
正確解答:B
教練解析: 資料脫敏、遮蔽、加密,都是在「加工轉換」階段完成,確保存進去時已安全。
第 10 題:寫一支爬蟲程式定期從政府 API 下載最新天氣 JSON 資料,屬於 ETL 的哪一個動作?
A) Extract (萃取)
B) Transform (轉換)
C) Load (載入)
D) Evaluation (評估)
正確解答:A
教練解析: 從外部系統「獲取」資料,就是萃取。這是去市場買菜的過程。
第 11 題:在使用依賴「梯度下降」的演算法(如類神經網路)時,為何建議先進行特徵縮放?
A) 可以自動補齊缺失值。
B) 可以大幅加快模型收斂的速度。
C) 可以將非線性變線性。
D) 可以降低模型複雜度。
正確解答:B
教練解析: 尺度差異太大會導致搜尋最佳解時來回震盪。統一尺度可以「直線衝向谷底」。
第 12 題:資料集中含有極端離群值 (Outliers),且不希望分佈被嚴重扭曲,應優先考慮哪種縮放方法?
A) Min-Max Scaler (正規化)
B) Standard Scaler (標準化)
C) Robust Scaler (穩健縮放)
D) One-Hot Encoding
正確解答:C
教練解析: Robust Scaler 使用「中位數」與「四分位距」,天生對離群值有免疫力。
第 13 題:為了避免「資料洩漏 (Data Leakage)」,使用 StandardScaler 的正確流程是?
A) 把訓練集與測試集合併後一起進行 fit_transform()。
B) 僅用「訓練集」來計算平均值與標準差 (fit),再套用 (transform) 到訓練與測試集。
C) 僅對測試集進行縮放。
D) 兩邊用不同的縮放方法。
正確解答:B
教練解析: 測試集是「未來的考卷」,你不能拿考卷的答案來調整讀書策略 (fit)。
第 14 題:將一組「向右偏態」資料進行 Z-score 標準化後,其圖形分佈會變成什麼形狀?
A) 變成完美的鐘形常態分佈。
B) 維持原本的向右偏態,只是 X 軸刻度平移縮放。
C) 變成均勻分佈。
D) 變成向左偏態。
正確解答:B
教練解析: 這是大陷阱!標準化只是「縮放」,不會改變資料原始的形狀。偏心的人縮小了還是偏心。
第 15 題:MinMaxScaler 運算:最大值 100,最小值 20,原始數值「60」縮放後是多少?
A) 0.6
B) 0.4
C) 0.5
D) 1.0
正確解答:C
教練解析: $(60-20) / (100-20) = 40/80 = 0.5$。剛好在正中間。
第 16 題:Pandas 中同時選取「Age」與「Salary」兩個欄位,正確語法是?
A) df['Age', 'Salary']
B) df[['Age', 'Salary']]
C) df.select('Age', 'Salary')
D) df[Age, Salary]
正確解答:B
教練解析: 選多個欄位要用「清單」,所以是「雙層中括號」。
第 17 題:將 DataFrame df 中只要包含空值 (NaN) 就整列刪除,語法為何?
A) df.fillna()
B) df.remove_nulls()
C) df.dropna()
D) df.delete(NaN)
正確解答:C
教練解析: dropna (Drop NA) 代表丟棄空值。
第 18 題:Pandas 將「城市」欄位(如:台北、高雄)轉為 0 與 1 的虛擬變數 (One-Hot),是哪個函數?
A) pd.to_numeric()
B) pd.get_dummies()
C) df['City'].factorize()
D) pd.one_hot()
正確解答:B
教練解析: get_dummies 是最快速產生「虛擬變數」的方法。
第 19 題:讀取 CSV 後,想檢查每個欄位的「資料型態」(如:int64 或 object),呼叫哪個屬性?
A) df.shape
B) df.head()
C) df.dtypes
D) df.values
正確解答:C
教練解析: dtypes 代表 Data Types。
第 20 題:將兩張結構相同的 DataFrame(一月與二月資料)上下疊加(接在正下方),語法為何?
A) pd.merge(df1, df2)
B) pd.concat([df1, df2], axis=0)
C) df1.join(df2)
D) df1 + df2
正確解答:B
教練解析: concat 代表連接,axis=0 代表沿著列方向(上下)疊加。










