AI時代系列(1) 機器學習三部曲: 🔹 第一部:《機器學習 —— AI 智慧的啟航》
20/100 第二週:資料處理與特徵工程20. 小結與測驗-使用 Pandas & NumPy 進行資料處理 🐼 數據處理的強力工具,學會它們效率大增!
✅ 2.1 資料清理與前處理
• 刪除重複數據、處理異常值、格式轉換。
• 確保數據一致性,提高 AI 的準確性。
✅ 2.2 缺失值處理
• 刪除(Drop):當缺失值過多時可考慮刪除整列或整行。
• 填補(Fill):使用均值、中位數、眾數填補缺失值。
• 插值(Interpolate):根據趨勢預測缺失值。
✅ 2.3 標準化與正規化
• 標準化(Standardization, Z-score):適合線性回歸、SVM、KNN。
• 正規化(Min-Max Scaling):適合深度學習與距離計算。
✅ 2.4 類別變數處理
• One-Hot Encoding:將類別轉成二元變數(適合無序類別)。
• Label Encoding:將類別映射為數值(適合有序類別)。
✅ 2.5 特徵選擇技術
• 過濾法(Filter):相關係數、卡方檢定。
• 包裝法(Wrapper):遞歸特徵消除(RFE)。
• 嵌入法(Embedded):Lasso、決策樹特徵重要性。
✅ 2.6 PCA 降維技術
• 主成分分析(PCA) 可降低數據維度,提高計算效率。
• 保留高解釋方差的主成分,刪除冗餘數據。
✅ 2.7 資料分割
• 訓練集(Training Set):用於訓練模型(約 70-80%)。
• 測試集(Test Set):用於最終評估模型(約 20-30%)。
• 驗證集(Validation Set):用於調整超參數。
✅ 2.8 處理不平衡資料
• 過採樣(Oversampling):增加少數類別數據(如 SMOTE)。
• 欠採樣(Undersampling):減少多數類別數據。
• 調整權重(Class Weights):讓模型更重視少數類別。
✅ 2.9 類別不平衡問題的解決方案
• SMOTE(合成少數類別數據)。
• 調整類別權重 讓模型更公平。
• 使用 AUC-ROC、F1-score 來評估模型(避免只看準確率)。
________________________________________
📌 2.10 測驗與答案解析
💡 測驗題(多選)
Q1. 哪些方法可以用來處理缺失值?
🔘 A. 刪除含有缺失值的行或列
🔘 B. 用平均值、中位數、眾數填補缺失值
🔘 C. 直接忽略,不處理
🔘 D. 使用插值方法來預測缺失值
✅ 答案:A, B, D(C 可能導致數據問題)
________________________________________
Q2. 哪些方法適合用來處理類別變數?
🔘 A. 標準化(Standardization)
🔘 B. One-Hot Encoding
🔘 C. Min-Max Scaling
🔘 D. Label Encoding
✅ 答案:B, D(A 和 C 適用於數值數據)
________________________________________
Q3. PCA 的主要作用是什麼?
🔘 A. 提高模型準確率
🔘 B. 降低特徵數,提高計算效率
🔘 C. 讓 AI 更加「聰明」
🔘 D. 保留最重要的數據變異性
✅ 答案:B, D(PCA 主要用於降維)
________________________________________
Q4. 處理不平衡數據時,下列哪些方法可用?
🔘 A. 直接忽略不平衡問題
🔘 B. 過採樣(如 SMOTE)
🔘 C. 欠採樣(Undersampling)
🔘 D. 使用 class_weight 調整模型
✅ 答案:B, C, D(A 可能導致嚴重的模型偏差)
________________________________________
📌 Pandas & NumPy 資料處理完整教學:安裝 + 操作步驟
一、開發環境安裝
1. ✅ 安裝 Python
o 前往官網:https://www.python.org/downloads/
o 推薦版本:Python 3.8 以上
2. ✅ 安裝 pip(Python 套件管理器)
o 安裝 Python 時建議勾選「Add Python to PATH」,pip 就會自動安裝好。
3. ✅ 安裝必要套件:Pandas、NumPy、Scikit-learn 打開終端機(Terminal)或命令提示字元(cmd),執行以下指令:
pip install pandas numpy scikit-learn
4. ✅ (可選)使用 Jupyter Notebook 開發環境
如果你喜歡交互式的方式學習,可以多裝:
pip install notebook
jupyter notebook
________________________________________
二、操作步驟
下面每一段程式碼,你可以直接在 Jupyter Notebook 或 Python 腳本中執行。
________________________________________
✅ (1) 資料清理與缺失值處理
操作步驟:
1. 匯入套件
import pandas as pd
import numpy as np
2. 建立 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', None, 'David'],
'Age': [25, np.nan, 30, 22, 40],
'Salary': [50000, 60000, np.nan, 45000, 70000]}
df = pd.DataFrame(data)
3. 填補缺失值
df['Age'].fillna(df['Age'].median(), inplace=True)
df['Salary'].fillna(df['Salary'].mean(), inplace=True)
4. 刪除缺失值
df.dropna(subset=['Name'], inplace=True)
print(df)
________________________________________
✅ (2) 類別變數處理(One-Hot Encoding & Label Encoding)
操作步驟:
1. 匯入必要套件
from sklearn.preprocessing import OneHotEncoder, LabelEncoder
import pandas as pd
2. 建立資料
df = pd.DataFrame({'Color': ['Red', 'Blue', 'Green', 'Red', 'Green']})
3. One-Hot Encoding
df_onehot = pd.get_dummies(df, columns=['Color'])
print(df_onehot)
4. Label Encoding
encoder = LabelEncoder()
df['Color_Label'] = encoder.fit_transform(df['Color'])
print(df)
________________________________________
✅ (3) 標準化與正規化
操作步驟:
1. 匯入必要套件
from sklearn.preprocessing import StandardScaler, MinMaxScaler
import numpy as np
2. 準備數據
X = np.array([[10, 200], [15, 300], [20, 400]])
3. 標準化
scaler = StandardScaler()
X_standardized = scaler.fit_transform(X)
print("標準化結果:", X_standardized)
4. 正規化
scaler = MinMaxScaler()
X_normalized = scaler.fit_transform(X)
print("正規化結果:", X_normalized)
________________________________________
✅ (4) 資料分割
操作步驟:
1. 匯入必要套件
from sklearn.model_selection import train_test_split
import numpy as np
2. 準備數據
X = np.random.rand(100, 5)
y = np.random.randint(0, 2, size=100)
3. 資料分割
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
print(f"訓練集大小: {X_train.shape}, 測試集大小: {X_test.shape}")
________________________________________
三、加碼:常見錯誤排查
問題 解決方式
找不到模組 ModuleNotFoundError : 確認是否已用 pip install 安裝好相關套件。
pandas is not defined: 確認是否有執行 import pandas as pd。
編碼錯誤(中文亂碼): 記得使用 UTF-8 編碼保存 Python 檔案。
Jupyter notebook 執行失敗: 確認執行 pip install notebook 並使用 jupyter notebook 開啟。
________________________________________
四、官方文件推薦
• 📖 Pandas 官方文件: https://pandas.pydata.org/docs/
• 📖 NumPy 官方文件: https://numpy.org/doc/
• 📖 scikit-learn 官方文件(數據預處理工具): https://scikit-learn.org/stable/modules/preprocessing.html
_________________________________________________
🎯 總結
📌 數據處理是 AI 成功的基石!
📌 學會 Pandas & NumPy,讓數據處理更高效!
📌 測驗可幫助複習概念,確保學習效果! 🚀
這樣,你的 AI 模型就能更穩定、更公平、更準確地進行預測!✨





















