2.2. Machine Learning Crash Course Jam

1.基本資訊

2.Google Machine Learning Course

3.Review Pandas

  • codlab是一個很像Jupyter notebook的環境

  • Pandas Structure

    • Series

      • 讀取外部資料

        • 用head檢查資料有沒有讀進來

        • 查詢資料類型

        • 數值型資料 (count, min, max, std. mean)

        • Stastic上的資料種類

          • 類別資料

          • 連續型資料

            • 將資料轉型

      • 選取資料

      • 重新洗牌

      • 新增欄位

4.Tensorflow

  • 1.匯入Library

  • 2.讀取外部資料

  • 3.对数据进行随机化处理,以确保不会出现任何病态排序结果(可能会损害随机梯度下降法的效果)

  • 4.將大資料簡化 (修改單位)

  • 5.數值型資料統計

  • 6.Build the first model (Linear regression)

    • (1)先畫圖瞭解一下資料

    • (2)定義x軸資料

    • (3)定義y資料

    • (4)配置 LinearRegressor

    • (5)Training model

    • (6)Predict : 看看model的預測值如何

    • (7)計算MSE, RMSE

    • (8)瞭解predictions跟target的差異

    • (9)取平均分佈的樣本

    • (10)繪製散布圖

5.Build a predictable model

  • Build a predictable model簡報

    • 1.如何Fit a model?

      • 預測未知的資料夠準確

      • 模型的狀態

        • Overfitting

        • Optimum

        • Underfitting

      • 未來的資料怎麼來?

        • 將資料分成training set及testing set

        • 怎麼切testing set?

          • 80/20法則: 取1/5作為testing set

        • validation set

    • 2.如何挑選合適的feature?

      • (1)特徵工程

        • 挑選適合的特徵

      • (2)單位換算

      • (3)Feature should not take on "magic value"

        • 不要用-1表示不能用的資料

        • 多加一個flag的column

      • (4)不要用代碼紀錄特徵的特性

      • (5)了解資料, 刪除outlier

      • (6)對於不是連續型的變數, 可以用資料區間表示

    • 3.分類

      • 機率模型

        • 邏輯式回歸: 將線性模型轉換為機率模型

          • y = exp(b + w1x1 + ... + wpxp) > 0

          • p = f(b + w1x1 + ... + wpxp) < 0

      • Logistic regression是最簡單的神經網路 (NN)

      • Threshold的選擇取決於風險的承擔

        • 同一模型, 須根據不同場景選擇不同閾值, 將會影響決策

        • 模型說是真, 實際也為真的機率 (True Positive)

        • 除了精確度外, 需要考慮召回率: TP/(TP + FP)

驗證codlab

  • 1.匯入Library

  • 2.讀取外部資料

  • 3.資料預處理

(4) 選擇Training set

(5) 選擇validation set

codlab觀察重點

  • 1.Training data和validation data有相似的特性

    • 所以記得先用shuffle重新洗牌, 讓資料均勻

    • overfitting

      • 是否是feature放太多所造成的結果?

      • 目標loss越小, 不希望模型太複雜

    • 如何定義模型複雜度?

      • y = b + w1x1 + ... + wpxp

        • w或p越大, 模型越複雜

      • 模型複雜度

        • ||w||^2 = w1 ^2 + ... + wp ^2

Last updated

Was this helpful?