Are u Ready! GO!
第 1 題:在 CRISP-DM(跨產業資料探勘標準流程)中,實務上通常會耗費資料工程師最多時間(約佔專案 70%~80%)的是哪一個階段?
A) 商業理解 (Business Understanding)
B) 資料理解 (Data Understanding)
C) 資料準備 (Data Preparation)
D) 建立模型 (Modeling)
- 正確解答: C) 資料準備 (Data Preparation)教練說明: 資料準備包含資料清洗、特徵工程、處理缺失值與格式轉換,實務上往往最為繁瑣耗時。想想「洗菜最久,炒菜最快」這句口訣!
第 2 題:關於 CRISP-DM 的標準流程順序,下列何者正確?
A) 商業理解 → 資料準備 → 資料理解 → 建立模型 → 評估 → 部署
B) 商業理解 → 資料理解 → 資料準備 → 建立模型 → 評估 → 部署
C) 資料理解 → 商業理解 → 建立模型 → 資料準備 → 評估 → 部署
D) 商業理解 → 資料理解 → 建立模型 → 資料準備 → 部署 → 評估
- 正確解答: B) 商業理解 → 資料理解 → 資料準備 → 建立模型 → 評估 → 部署教練說明: 第一步永遠是搞清楚老闆要什麼 (商業),接著看手邊有什麼食材 (資料理解),然後開始洗菜 (資料準備)、炒菜 (建模型)、試吃 (評估)、最後端上桌 (部署)。
第 3 題:在 CRISP-DM 流程中,如果「評估 (Evaluation)」階段發現模型雖然準確率高,但無法解決最初的商業問題,通常會退回哪一個階段重新檢視?
A) 部署 (Deployment)
B) 商業理解 (Business Understanding)
C) 資料準備 (Data Preparation)
D) 資料理解 (Data Understanding)
- 正確解答: B) 商業理解 (Business Understanding)教練說明: CRISP-DM 是一個循環,當最終成果偏離老闆的目標時,必須回到最源頭的「商業理解」重新確認方向與目標。
第 4 題:處理資料庫中的「缺失值 (Missing values)」與「極端值 (Outliers)」,屬於 CRISP-DM 流程中的哪一個步驟?
A) 資料理解 (Data Understanding)
B) 建立模型 (Modeling)
C) 資料準備 (Data Preparation)
D) 商業理解 (Business Understanding)
- 正確解答: C) 資料準備 (Data Preparation)教練說明: 資料清理是資料準備階段最核心的工作之一。這是在把食材送進鍋子(模型)前,必須做的修剪與清洗動作。
第 5 題:在大數據資料處理流程中,ETL 代表的三個英文單字分別是什麼?
A) Export, Translate, Load
B) Extract, Transform, Load
C) Execute, Transform, Link
D) Extract, Transfer, Load
- 正確解答: B) Extract, Transform, Load教練說明: 這是 ETL 的正確全名,意即萃取資料 (買菜)、轉換資料格式與清洗 (洗菜切菜)、最後載入資料倉儲 (放進大冰箱)。
第 6 題:在 ETL 流程中,將類別變數進行「獨熱編碼 (One-Hot Encoding)」或對數值進行「標準化 (Standardization)」,是屬於哪一個階段的工作?
A) Extract (萃取)
B) Transform (轉換)
C) Load (載入)
D) Evaluate (評估)
- 正確解答: B) Transform (轉換)教練說明: 資料的清理、編碼、縮放與格式統一,將資料的「形狀」或「尺度」進行改變,都屬於 Transform 轉換階段。
第 7 題:關於 ETL 中的「Extract (萃取)」,下列敘述何者最為正確?
A) 主要是將訓練好的模型萃取出來放到雲端。
B) 從多個不同的異質資料源(如關聯式資料庫、API、CSV)讀取並收集資料。
C) 剔除資料集裡面的缺失值與雜訊。
D) 將資料壓縮以節省儲存空間。
- 正確解答: B) 從多個不同的異質資料源(如關聯式資料庫、API、CSV)讀取並收集資料。教練說明: 這個階段就像是去不同的產地或菜市場,把我們需要的原料「拿/抓」出來集中。
第 8 題:為什麼我們在機器學習中經常需要進行「特徵縮放 (Feature Scaling)」?
A) 為了自動補齊資料中的缺失值。
B) 為了讓數值較大的特徵不至於在計算距離時主導整個模型。
C) 為了將數值型資料轉成類別型資料。
D) 特徵縮放可以大幅減少資料的維度數量。
- 正確解答: B) 為了讓數值較大的特徵不至於在計算距離時主導整個模型。教練說明: 這樣能避免例如「年薪 100 萬」的特徵在計算時完全蓋過「年齡 30」的特徵,確保每個特徵都有平等的權重。
第 9 題:關於「正規化 (Normalization,常指 Min-Max Scaling)」,下列敘述何者正確?
A) 會將資料轉換為平均數為 0,標準差為 1 的分佈。
B) 通常會將所有的數值按比例縮放至 [0, 1] 的區間內。
C) 這種縮放方法完全不受極端值 (Outliers) 的影響。
D) 主要是用來處理類別型特徵(如性別、顏色)。
- 正確解答: B) 通常會將所有的數值按比例縮放至 [0, 1] 的區間內。教練說明: Min-Max 正規化的公式會利用最大值與最小值,確保資料被塞進 0 到 1 的固定範圍裡。
第 10 題:下列哪一種機器學習演算法對於「特徵縮放」最為敏感,如果不做縮放可能會導致嚴重的預測偏差?
A) 決策樹 (Decision Tree)
B) 隨機森林 (Random Forest)
C) K-近鄰演算法 (KNN)
D) 單純貝氏分類器 (Naive Bayes)
- 正確解答: C) K-近鄰演算法 (KNN)教練說明: KNN 依賴計算資料點之間的「空間距離(如歐幾里得距離)」,若尺度不同,距離會被大數值特徵完全支配。而樹狀模型則不受影響。
第 11 題:在 Python 的 Pandas 套件中,用來讀取 CSV 檔案並轉換為 DataFrame 的語法是?
A) pd.read_csv('data.csv')
B) pd.open_csv('data.csv')
C) pd.load('data.csv')
D) df.import_csv('data.csv')
- 正確解答: A) pd.read_csv('data.csv')教練說明: 這是 Pandas 中最常用、也是最基礎的讀取 CSV 檔案方法。
第 12 題:假設你有一個 Pandas DataFrame 命名為 df,你想過濾出「年齡 (Age)」大於 30 歲的所有資料,正確的語法為何?
A) df.filter(Age > 30)
B) df['Age'] > 30
C) df[df['Age'] > 30]
D) df.select('Age' > 30)
- 正確解答: C) df[df['Age'] > 30]教練說明: 這是正確的布林索引。內層的 df['Age'] > 30 會產生 True/False 的遮罩,外層的 df[] 則負責根據遮罩篩選出對應的資料列。
第 13 題:在 Pandas 中,如果你想將 df 中欄位「薪水 (Salary)」的所有空值 (NaN) 填補為 0,正確的作法是?
A) df['Salary'].dropna(0)
B) df['Salary'].replace_na(0)
C) df['Salary'].fillna(0)
D) df['Salary'].isnull() = 0
- 正確解答: C) df['Salary'].fillna(0)教練說明: fillna (Fill NA) 是 Pandas 中專門用來填補缺失值的方法。dropna 則是用來「刪除」的。
第 14 題:老闆想知道資料表 df 中,不同「部門 (Department)」的「總預算 (Budget)」是多少。這相當於 Excel 的樞紐分析表,在 Pandas 應該如何撰寫?
A) df.pivot('Department', 'Budget', sum)
B) df.groupby('Department')['Budget'].sum()
C) df['Department'].sum('Budget')
D) df.aggregate('Department', sum='Budget')
- 正確解答: B) df.groupby('Department')['Budget'].sum()教練說明: 這是經典的群組運算:先按部門分群 (groupby),再選擇預算欄位,最後進行加總 (sum)。
第 15 題:在 Pandas 中,如果要將兩張不同的資料表 df1 和 df2 根據共同的欄位「員工編號 (ID)」進行合併(類似 Excel 的 VLOOKUP),應該使用什麼語法?
A) pd.concat([df1, df2])
B) df1.append(df2)
C) pd.merge(df1, df2, on='ID')
D) df1.join_with(df2, by='ID')
- 正確解答: C) pd.merge(df1, df2, on='ID')教練說明: merge 是專門處理關聯式合併的函式,on 參數用來指定對照的共同欄位。concat 主要是直接上下或左右疊加。
第 16 題:當我們使用 StandardScaler 進行「標準化」時,資料會發生什麼改變?
A) 資料會被壓縮到 0 到 1 之間。
B) 所有特徵的數值都會變成整數。
C) 資料的平均數會變為 0,標準差會變為 1。
D) 資料中的極端值會被自動剔除。
- 正確解答: C) 資料的平均數會變為 0,標準差會變為 1。教練說明: 這正是 Z-score 標準化的數學定義,將資料平移並縮放至標準常態分佈的形式。
第 17 題:在 CRISP-DM 流程中,將訓練好的模型整合到企業既有的資訊系統中,讓模型可以自動對新資料產生預測,屬於哪一個階段?
A) 評估 (Evaluation)
B) 部署 (Deployment)
C) 建立模型 (Modeling)
D) 商業理解 (Business Understanding)
- 正確解答: B) 部署 (Deployment)教練說明: 將模型推上線,產生實際商業價值的最後一哩路就是部署階段。等於是把軍隊(模型)送到前線去作戰。
第 18 題:如果資料集中的特徵包含了少數極端巨大的異常值(例如大家月薪 3 萬,只有一人月薪 500 萬),直接使用 Min-Max 縮放會發生什麼問題?
A) 正常人的資料會被嚴重擠壓在非常接近 0 的小區間內。
B) 演算法會自動忽略那個異常值。
C) 資料的標準差會變成 1。
D) 會引發程式執行錯誤,無法完成縮放。
- 正確解答: A) 正常人的資料會被嚴重擠壓在非常接近 0 的小區間內。教練說明: Min-Max 極度依賴最大值與最小值。因為最大值是 500 萬,3 萬在縮放後會變成極小的數值,導致正常資料失去分辨度。
第 19 題:在 Pandas 中,如果你想知道資料表 df 共有幾列、幾欄,應該查看哪一個屬性?
A) df.length()
B) df.size
C) df.shape
D) df.info()
- 正確解答: C) df.shape教練說明: shape 屬性會回傳一個包含 (列數, 欄數) 的結構,代表了資料表的「形狀」或「輪廓」。
第 20 題:將資料從 Pandas DataFrame 取出,並套用 Scikit-learn 的 StandardScaler(),這個動作對應到大數據 ETL 流程中的哪一個英文字母?
A) E (萃取)
B) T (轉換)
C) L (載入)
D) M (模型)
- 正確解答: B) T (轉換)教練說明: 使用 StandardScaler 對資料進行特徵縮放,改變了資料的數值尺度,這是一種改變資料狀態的「加工」過程,完全屬於資料「轉換」的範疇。
祝你複習順利!隨時準備好迎接考試,加油!😎