分類:特徵工程

用 Python 練習機器學習面試題

Lisa Stuart

Data Scientist

為什麼要做特徵工程?

  • 從資料擷取更多資訊
  • 建立更多相關特徵
  • 最能提升預測模型的方式之一
用 Python 練習機器學習面試題

特徵工程的好處

  • 提升學習演算法的預測力
  • 讓你的機器學習模型表現更好!
用 Python 練習機器學習面試題

特徵工程的種類

  • 指示變數
  • 交互作用特徵
  • 特徵表徵
用 Python 練習機器學習面試題

指示變數

  • 閾值指示
    • age:高中 vs 大學
  • 多個特徵
    • 作為旗標
  • 特殊事件
    • 黑色星期五
    • 聖誕節
  • 類別群組
    • 網站流量付費旗標
      • Google adwords{4}}
      • Facebook ads
用 Python 練習機器學習面試題

交互作用特徵

  • 和(Sum)
  • 差(Difference)
  • 積(Product)
  • 商(Quotient)
  • 其他數學組合
用 Python 練習機器學習面試題

特徵表徵

  • Datetime 標記
    • 星期幾
    • 幾點
  • 將罕見類別併入「Other」
  • 類別轉為虛擬變數
    • (k - 1)個二元欄
用 Python 練習機器學習面試題

不同的類別層級

  • 訓練資料:
    • 模型以 [red, blue, green] 訓練
  • 測試資料:

    • 模型以 [red, green, yellow] 測試
    • 出現訓練未見的新顏色
    • 少了一種顏色
  • Robust one-hot encoding

1 https://blog.cambridgespark.com/robust-one-hot-encoding-in-python-3e29bfcec77e
用 Python 練習機器學習面試題

負債收入比

  • Monthly Debt
  • Annual Income/12
用 Python 練習機器學習面試題

特徵工程常用函式

Function returns
sklearn.linear_model.LogisticRegression 邏輯斯迴歸
sklearn.model_selection.train_test_split 訓練/測試切分函式
sns.countplot(x='Loan Status', data=data) 長條圖
df.drop(['Feature 1', 'Feature 2'], axis=1) 刪除特徵清單
df["Loan Status"].replace({'Paid': 0, 'Not Paid': 1}) Loan Status 轉為整數
pd.get_dummies() k - 1 個二元特徵
sklearn.metrics.accuracy_score(y_test, predict(X_test)) 模型準確率
用 Python 練習機器學習面試題

優質教學資源:

用 Python 練習機器學習面試題

一起來練習吧!

用 Python 練習機器學習面試題

Preparing Video For Download...