美團機器學習實踐第二章-特徵工程總結
思維導圖如下:
在機器學習應用中,特徵工程扮演重要的角色,可以說特徵工程時機器學習應用的基礎。我們都知道,資料和特徵決定了機器學習演算法的上限,而模型和演算法只是不斷逼近這個上限而已。
1、特徵提取
特徵提取是對原資料進行變換的過程,我們首先將原始資料轉化為實向量。原始資料有很多型別,比如數值型別、離散型別、文字、影像以及視訊等等。將原始資料轉化為實向量後,對應的特徵空間不一定是最佳的特徵空間。為了讓模型更好地學習到資料中隱藏的規律,可能還需要對特徵進行變換。
對於特徵提取,我們一般可以先進行探索性資料分析,然後針對不同型別的特徵,採取不同的提取方法。
1.1 探索性資料分析
探索性資料分析(Exploratory Data Analysis,EDA)是採用各種技術在儘量少的先驗假設條件下,探索資料內部結構和規律的一種資料分析方法或理念。
EDA技術通常分為兩類。一類是視覺化技術,如箱形圖、直方圖、多變數圖、鏈圖、帕累託圖、散點圖、莖葉圖、平行座標、讓步比、多為尺度分析、目標投影追蹤、主成分分析、多線性主成分分析、降維、非線性降維等。另一類是定量技術,如樣本均值、方差、分位數、峰度、偏度等。
1.2 數值特徵
數值特徵的資料具有實際測量意義,可分為離散型和連續型。數值特徵常用的處理方法有:
截斷:保留重要資訊的前提下對特徵進行截斷、截斷後的特徵也可看做是類別特徵。
二值化
分桶:常用的分桶方法有均勻分桶、分位數分桶。
縮放:常用的縮放方法又標準化縮放(均值為0,方差為1)、最大最小值縮放、範數歸一化。
缺失值處理:處理方法常見的有補均值、補中位數或者直接丟棄
特徵交叉:對兩個數值變數進行加減乘除等操作。也可以通過FM、FFM等模型進行自動的特徵交叉組合。
非線性編碼:多項式核、高斯核或者使用樹模型的葉結點進行非線性編碼。
行統計量:均值、方差、最大值、最小值、偏度、峰度等。
1.3 類別特徵
類別特徵也就是我們常說的離散變數,常見的處理方法有:
自然數編碼:給每一個類別分配一個編號。
獨熱編碼:這是我們最常用的處理方法,即轉換為one-hot。
分層編碼:對於郵政編碼或者身份證號等類別特徵,可以取不同位數進行分層,然後按層次進行自然數編碼。
雜湊編碼:對於取值特別多的類別特徵,可以先使用雜湊函式進行雜湊操作,避免特別係數。
計數編碼:將類別特徵用其對應的計數來代替。
計數排名編碼:利用計數的排名對類別特徵進行編碼
目標編碼:基於目標變數對類別特徵進行編碼
類別特徵之間交叉組合
類別特徵和數值特徵之間交叉組合
1.4 時間特徵
常用的時間特徵有:年、月、日、時、分、秒、星期幾、年的第幾天、一天過了多少分鐘、季度、是否閏年、是否季度初、是否季度末、是否週末、是否月度末、是否營業時間、是否節假日。
還有一種時間特徵是基於滑動視窗的統計特徵。
1.5 空間特徵
經緯度、行政區ID、街道、城市、距離等等。
1.6 文字特徵
對文字特徵進行預處理,我們常用的流程有:將字元轉換為小寫、分詞、去除無用字元、詞性標註、提取詞根、拼寫糾錯、詞幹提取、標點符號編碼、文件特徵、實體插入和提取、Word2Vec、文字相似性、去除停止詞、去除稀有詞、TF-IDF、LDA、LSA等。
2、特徵選擇
特徵選擇是從我們提取的特徵集合中選出一個子集。特徵選擇的目的有三個:
1、簡化模型,使模型更易於研究人員和使用者理解
2、改善效能
3、改善通用型、降低過擬合風險。
常用的特徵選擇方法有三類:過濾方法、封裝方法和嵌入方法。
2.1 過濾方法
使用過濾方法進行特徵選擇不需要依賴於機器學習演算法。主要分為單變數過濾方法和多變數過濾方法。常見的過濾方法有:
覆蓋率計算每個特徵的覆蓋率。
皮爾遜相關係數:計算兩個特徵之間的相關性。
Fisher得分:用於分類問題,好的特徵應該在同一類別中取值比較相似,不同類別中差異較大。
假設檢驗
互資訊:在概率論或者資訊理論中,互資訊用來度量兩個變數之間的相關性。互資訊越大表明兩個變數相關性越高。
最小冗餘最大相關性:對根已選擇特徵的相關性較高的冗餘特徵進行懲罰。
相關特徵選擇CFS:好的特徵集合包含給目標變數非常相關的特徵,但這些特徵之間彼此不相關。
2.2 封裝方法
封裝方法直接使用機器學習演算法評估特徵子集的效果。
常用的封裝方法有:
完全搜尋
啟發式搜尋:序列前向選擇和序列後向選擇
隨機搜尋
2.3 嵌入方法
嵌入方法將特徵選擇過程嵌入到模型的構建過程中。
常用的方法有LASSO迴歸、嶺迴歸、樹方法。
對於特徵選擇方法,總結如下:
相關文章
- 《美團機器學習實踐》—— 讀後總結機器學習
- 評書:《美團機器學習實踐》機器學習
- 機器學習 | 特徵工程機器學習特徵工程
- 機器學習——特徵工程機器學習特徵工程
- 機器學習特徵工程機器學習特徵工程
- 百面機器學習總結--第一章特徵工程機器學習特徵工程
- 機器學習之特徵工程機器學習特徵工程
- 美團深度學習系統的工程實踐深度學習
- 機器學習2-特徵工程機器學習特徵工程
- 面向機器學習的特徵工程一、引言機器學習特徵工程
- 谷歌機器學習43條規則:機器學習工程的最佳實踐經驗谷歌機器學習
- 機器學習實驗出錯總結機器學習
- 機器學習-特徵提取機器學習特徵
- 機器學習中,有哪些特徵選擇的工程方法?機器學習特徵
- 機器學習在美團配送系統的實踐:用技術還原真實世界機器學習
- React Hooks工程實踐總結ReactHook
- 觀遠AI實戰 | 機器學習系統的工程實踐AI機器學習
- 從Spark MLlib到美圖機器學習框架實踐Spark機器學習框架
- 大規模特徵構建實踐總結特徵
- 【機器學習】帶你3分鐘看完《機器學習實戰》總結篇機器學習
- 【演算法工程師】機器學習面試問題總結演算法工程師機器學習面試
- 機器學習-步驟總結機器學習
- 機器學習基礎總結機器學習
- 機器學習、深度學習資源總結機器學習深度學習
- 收藏 | Google 釋出關於機器學習工程的最佳實踐Go機器學習
- SparkML機器學習之特徵工程(一)特徵提取(TF-IDF、Word2Vec、CountVectorizer)Spark機器學習特徵工程
- ML-機器學習實踐機器學習
- 機器學習實踐:如何將Spark與Python結合?機器學習SparkPython
- 回顧·機器學習/深度學習工程實戰機器學習深度學習
- 美團“猜你喜歡”深度學習排序模型實踐深度學習排序模型
- 編譯原理第二章學習總結編譯原理
- 機器學習問題方法總結機器學習
- 機器學習基本概念總結機器學習
- 機器學習的靜態特徵和動態特徵機器學習特徵
- 強化學習在美團“猜你喜歡”的實踐強化學習
- 強化學習在美團「猜你喜歡」的實踐強化學習
- 《Python機器學習實踐》簡介Python機器學習
- 工程熱力學複習總結