Hike News
Hike News

深度學習-tensorflow基礎-讀取數據-API應用-二進制文件讀取

Introduction 圖片也算是一種二進制文件格式 將進行CIFAR-10二進制數據讀取 https://www.cs.toronto.edu/~kriz/cifar.html 全部共60000萬張圖片,每張圖片為32x32彩色圖像所組成 50000個訓練集及10000個測試集 五個訓練批次(data_batch_1.bin, data_batch_2.bin…) 一個測試批次(test_batch.bin) 其有10個類別(飛機、汽車、鳥…等)的圖片 每個類別共6000個圖片 文件中的格式都是第1個像素為標籤(0~9) 剩下的 3072 (3*32*32)像素為特徵 前1024像素為red_channel, 下1024像素為green_channel, 最後1024像素為blue_channel

Continue Reading →

機器學習-邏輯回歸的特徵工程

Introduction 在進行邏輯回歸模型訓練時,通常需要對數據進行降維 在高維(>1000個)特徵情況下,可先使用特徵選擇的演算法幫助我們篩選特徵,在根據自己相關的業務常識選擇更為相關的特徵 在邏輯回歸中,一般不使用PCA和SVD的降維演算法 會抹滅特徵的可解釋性 降維後會無法解釋特徵與Label的關係 在不需探究特徵與標籤之間關係的線性數據上,仍可使用 著重於對測試樣本進行分類時,可使用 在邏輯回歸中,前幾章提到的特徵選擇方法都可以使用

Continue Reading →

機器學習-特徵工程-細談特徵降維

Introduction sklearn中的降維演算法都被包括在模塊decomposition中 decomposition模塊為一個矩陣分解模塊 SVD和主成分分析PCA都屬於矩陣分解算法中的入門算法,通過分解特徵矩陣來進行降維 降維(矩陣分解)的過程中追求既減少特徵的數量,又保留大量有效信息的 新特徵矩陣 將帶有重複信息(特徵與特徵之間有線性相關)的特徵合併 刪除無效信息(noise)的特徵 如果一個特徵的方差(Variance)很大,則可以說明這個特徵帶有大量信息 兩種主要的降維方法;其矩陣分解的方法不同,信息量衡量指標不同,但都涉及大量矩陣運算 主成分分析(PCA) 奇異值分解(SVD) 通常在能進行PCA降維的情況下,不會進行特徵選擇 無法使用PCA降維的情況下才會做特徵選擇

Continue Reading →

機器學習-特徵工程-特徵選擇-包裝法

Introduction 包裝法(wrapper)仍是一種特徵選擇和演算法訓練同時進行的方法 與嵌入法相似的地方,仍是依賴算法有coef_及feature_importances_等屬性來完成特徵選擇 不同之處為 使用一個專業的數據挖掘演算法;而非使用 在評估模型使用的演算法 wrapper method 黑箱中所使用的Learning Algorithm是一個目標函數,專門用於選取特徵 不需像過濾法那樣在指定評估指標 和 threshold值 計算成本位於嵌入法與過濾法中間 包裝法效果是所有特徵選擇方法中最利於提升模型表現的 不適用於大 包裝法相比嵌入法更能保證模型效果

Continue Reading →

機器學習-特徵工程-特徵選擇-嵌入法

Introduction 嵌入法(Embedded)是讓演算法自己決定使用那些特徵的方法 特徵選擇 及 演算法訓練 同時進行 特徵的選擇是依賴模型的表現來進行選擇,因此為一循環過程 Embedded method 最後得到各個特徵的權值,根據權值從大到小選擇特徵 相比過濾法,嵌入法的篩選的特徵更為精確,對模型更有效 缺點1:無法有效界定有用特徵 權值係數的臨界值 不像過濾法有p值可幫助我們做界定 只能說要是權值係數為0時,則對模型毫無貢獻 改善方法: 權值係數作為 超參數,使用學習曲線方法進行調參 根據 模型本身性質 判斷權值係數範圍 缺點2:因為其是引入演算法來挑選特徵,且會使用全部特徵 計算時間與所使用的演算法 及 數據量有關係 from sklearn.feature_selection import SelectFromModel

Continue Reading →

機器學習-特徵工程-特徵選擇(feature_selection)-過濾法

Introduction從所有的特徵中,選擇出有意義的或對模型有幫助的特徵 避免必須將所有特徵都導入模型進行訓練的窘境 重要!!:必須與數據提供者討論 若是我們無法找到合適領域的人幫助理解數據來選擇特徵的話,可使用以下四種方法 過濾法 嵌入法 包裝法 降維演算法

Continue Reading →

機器學習-特徵預處理-處理連續型數據

Introduction 二值化(binarizer) 根據閥值(threshold)將數值二元化(大於閥值設為1;小於or等於閥值設為0) 用於處理連續型變量 連續型變量劃分為二分類 決定僅考慮某種現象存在與否 分段(KBinsDiscretizer;分箱) 將連續型數據劃分為不同分類變量 例如:根據不同的年齡段分成老年、中年、青少年、小孩、幼齡

Continue Reading →