<label id="jgr5k"></label>
    <legend id="jgr5k"><track id="jgr5k"></track></legend>

    <sub id="jgr5k"></sub>
  1. <u id="jgr5k"></u>
      久草国产视频,91资源总站,在线免费看AV,丁香婷婷社区,久久精品99久久久久久久久,色天使av,无码探花,香蕉av在线
      您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
      此為臨時鏈接,僅用于文章預覽,將在時失效
      人工智能開發者 正文
      發私信給AI研習社
      發送

      0

      如何有效處理特征范圍差異大且類型不一的數據?

      本文作者: AI研習社 2017-11-07 18:54
      導語:這個問題是典型的特征工程(Feature Engineering)的范疇,這個領域的奇淫巧技實在太多。

      雷鋒網按:本文原作者阿薩姆,本文整理自作者在知乎《如何有效處理特征范圍差異大且類型不一的數據?》問題下的回答。雷鋒網已獲得轉載授權。

      問題詳情:

      1. 特征類型混雜: 連續變量,離散變量,描述變量共存

      2. 不同變量之間取值差異大: 例如有些變量取值在 0~1 但有些取值為 10000-50000

      以 KDD99 網絡入侵數據集為例:

      KDD Cup 1999 Data

      總共 41 個特征,其中 3 個 categorical,5 個 binary,剩下 33 個均為連續型特征。

      下圖為訓練集 downsample 了 5W 條數據后針對連續型特征的統計:

      如何有效處理特征范圍差異大且類型不一的數據?

      可見,不同特征的取值范圍差異極大,特征本身分布也是很散(似乎有點長尾)。

      面對這樣混合的特征類型,而且特征取值范圍差異極大的情況,如何進行有效而 reasonable 的特征選擇?

      回答:

      這個問題是典型的特征工程(Feature Engineering)的范疇,這個領域的奇淫巧技實在太多,只能粗略的說一下對這種數據類型的基本處理流程。我反對直接進行簡單粗暴的歸一化或標準化,往往其風險大于收益。

      首先我們假設,做數據處理的前提是我們不知道什么分類模型效果最好,且大部分分類器無法直接處理 “描述變量”(categorical variable)。當然,我們知道以決策樹為原型的模型可以處理不同的數據類型,且對于變量取值范圍比較不敏感,還自帶特征選擇 (如計算節點分裂的基尼指數)。因此很多時候在進行復雜操作前,不妨先使用隨機森林 (Random Forest) 或其他集成學習的樹模型暴力做一下。有類似良好的特性 (能自動選擇有效特征) 的分類器還包括:

      • 特定種類的深度網絡。

      • L1 范數正則化后的線性模型等。

      從本質上看,上面提到的這幾種做法其實就是嵌入式特征選擇 (Embedding Feature Selection),屬于偷懶的一站式操作:) 而這個答案的重心在于將數據處理成可被一般分類器所使用的形態,因為在很多情況下我們無法使用這種偷懶的做法。

      回答的結構如下:

      1. 移除不必要的數據,降低變量的維度。

      2. 對描述變量進行轉化,使其適用于大部分的分類器。

      3. 分析數據之間的相關性,如共線性。如果有必要,進行特征選擇。

      4. 歸一化和標準化。

      5. * 懶人選項:選用適當的 (對高方差數據魯棒性好) 的分類模型。

      上面這個順序的邏輯是 1. 初步降低數據維度 2. 再將描述變量轉化為其他算法可以分析的格式 3. 分析是否需要特征選擇 4. 進行歸一化和標準化。一般而言,我們可能會根據情況選擇其中的一部分處理方法,比較靈活。

      如果 1-4 對你來說太復雜,不妨先試試捷徑方法 5。

      既然答主提到這個 99 年 KDD 的數據,那么我就以這個數據集為例來回答。

      1. 移除不必要的變量,降低數據維度

      在進行各種維度變換和復雜的處理前,一般我們希望去掉無用和低貢獻度的變量,這會大大降低后續的處理難度。

      1.1. 移除單一取值變量 (unique value variable)

      單一值變量:整個數據中該值取值恒定,因此對于模型無貢獻。

      如下圖所示,在除了預測值 (Target) 以外的 41 個值中,有兩個變量 num_outbound_cmds 和 is_host_login 在整個數據集中取值唯一,應該被移除。于是我們成功的去掉了兩個無用變量,此時也就不用思考這兩個變量對于整體取值范圍的影響。

      如何有效處理特征范圍差異大且類型不一的數據?

      1.2. 移除低方差 (low variance) 的變量

      和單一取值的變量相似,低方差的變量雖然取值不唯一,但整體的變化很小。我們可以通過人為設定閾值 (threshold) 來去除這種變量。以一個變量只有兩個取值為例,我們可以設定閾值來去掉低方差的變量。

      如何有效處理特征范圍差異大且類型不一的數據?

      如上圖所示,此處所調用的 Sklearn 的 API 還有一個作用就是自動移除單一取值的數據,一舉兩得。

      更多資料請移步 Sklearn 官方文檔: 1.13. Feature selection

      2. 轉化描述變量 (convert categorical var to numeric)

      如上文描述的,我們在不假設分類器的前提下,必須對描述變量轉化為數字類型變量,因為大部分算法無法直接處理描述變量。

      描述變量一般分兩種,其轉換方法不同:

      1. 有序變量。比如小學,初中,高中,大學。又比如非常滿意,滿意,不滿意,極不滿意。這類變量中的可取值之間都有一種順序關系,因此不能單純的用獨熱編碼 (One-hot Encoding) 來轉化,因為在轉化過程中會失去順序信息。在這種情況下可以由如何有效處理特征范圍差異大且類型不一的數據?來轉換, N 代表該變量可取的值得總數。此處也要注意,不是每種順序對每個問題都是有意義的。比如假設一個變量可以取三個值:“頭等艙”,“商務艙”,“經濟艙”,對于票價而言是有順序的,但對于到達時間,這三者是無序的。

      2. 無序變量。比如一個公司有三個部門: 研發,測試,HR。

      • 在分類問題中我們可以簡單的使用獨熱編碼進行轉化。

      • 若在聚類問題中,我們一般希望度量其差異性,比較常見的是 Value Difference Metrics (VDM) 這一類。說白了就是直接看兩個點的這個維度是否相同,若有 N 個無序變量,我們一般構建一個如何有效處理特征范圍差異大且類型不一的數據?的矩陣來描述差異度(Degree of Difference)。

      3. 變量相關性分析及特征選擇

      在進行建模前,可以快速的查看變量之間的相關性,這對下一步的是否進行特征選擇有比較重要的意義。我們假設在這一步的時候,已經去除了多余變量且所有描述變量都轉化為了數字型變量。

      3.1. 相關性圖譜 (correlation matrix)

      計算變量之間的相關性可以得到一個矩陣,用于描述每兩個變量這件的相關性 (-1 代表負相關,0 代表無關,1 代表正相關)。在可視化后 KDD99 數據的相關性圖譜后可得到下圖。

      如何有效處理特征范圍差異大且類型不一的數據?

      做相關性圖譜的原因是為了看一下是否存在大量的共線性 (colinearity)。 最極端的特例就是雖然特征很多,但事實上之間互相關聯性很強,存在強線性關系,對于模型幫助不大。

      以 KDD 的數據為例,我們可以看出變量間存在一些共線性,但并不算是極端嚴重。這告訴我們可以兩個可以嘗試的方法來處理這些變量:

      • 特征選擇 (feature selection)

      • 維度壓縮 (dimensionality reduction), 例如主成分分析 (PCA)

      如果我們足夠幸運,看到了零共線性 (現實情況是不會發生的) 或者低共線性,我們大可以暫時跳過特征選擇。當然,略過特征選擇的風險是某個變量可能和我們要去預測的事情完全無關。

      3.2. 特征選擇

      特征選擇是一個很大的話題,簡單說就是從多個變量中選擇出一部分對于分類比較重要的特征,拋棄冗余變量 (redundant variables)。

      統計學習中一般用子集搜索 (subset),包括全搜索 (exhaustive search),貪心算法類搜索 (正向搜索,逆向搜索,和從兩邊同時搜索)。

      機器學習中一般有三種特征選擇:

      1. 過濾式 (filter): 其實我們剛才查看相關性圖譜就是一種過濾式搜索的思路。在這種方法中,我們僅通過評價不同變量之間的統計相關性來進行特征選擇,如 Chi Squared 和 Pearson。

      2. 包裹式 (wrapper): 和過濾式不同,包裹式特征選擇引入了分類器,通過評估不同的變量在相同分類器下的表現來選擇最優的變量。注意,選擇出的 "最優變量" 可能僅僅在當前分類器下表現好,后續使用其他分類器效果很難保證。

      3. 嵌入式 (embedding): 思路是建立分類器的同時選擇有效的變量,文章開頭處提到的 L1 正則化和很多決策樹模型都有這個特質。

      3.3. 降維: 主成分分析 (PCA) 和流形學習 (manifold learning)

      以本題中的 KDD 數據為例,或許降維是一個比特征選擇更加劃算的做法。主成分分析即將高維數據投射到一個低維空間中來壓縮和合并。

      在非線性降維領域,流形學習 (manifold learning) 現在正大行其道,有興趣的朋友可以關注一下。

      此處必須提醒大家 PCA 和大部分流形學習都要求數據的歸一化,我們稍后會簡單介紹。

      4. 歸一化 (Normalization) 和標準化 (Standardization)

      歸一化和標準化是兩種常見的數據轉換方法,但這兩種方法有一定的風險,我并不推薦一上來就先進行歸一化或者標準化。這類數據轉化方法存在的意義有很多,比較常見的應用是統距離度量 (distance estimation) 時的范圍。簡單來說,以 KNN 為例,我們計算兩個數據點的相似度為其幾何距離,那么如果不同變量的可取值區間不同甚至相差巨大,那么可能會有部分變量有過大的影響力。

      歸一化和標準化的目標都是將元數據投射到一個規范區間中,如 [0,1] 。給出一個最簡單的標準化例子,假設原數據 [1,2,3,4,5]通過一種最簡單的轉化如何有效處理特征范圍差異大且類型不一的數據?為 [0,0.25,0.5,0.75,1] 。由此可見我們可以人為的控制數據的投射范圍,但不可避免的數據中的一部分信息可能會遺失。

      相關的算法還有很多且資料很多,不在此贅述,如主成分分析中使用的 z-score 規范化: 如何有效處理特征范圍差異大且類型不一的數據?

      5. 什么模型對于高方差且變量類型復合比較友善?

      像我在答案開頭提到的,比較穩定的是以決策樹為基學習器的集成學習:

      • 在分類問題中,不妨先試試隨機森林 (Random Forests)。

      • 回歸問題中可以試試 Gradient Boosted Tree Regression。

      這一類模型都可以很好的做到降低高方差、處理非線性關系、選擇有效特征。對于 KDD99 的比賽,如果那個時候已經有了隨機森林 (2001 年的論文) 的話,可能冠軍會是 Breiman 吧:)

      祝大家煉丹愉快 (?????)


      不靈叔@雷鋒網

      雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知。

      如何有效處理特征范圍差異大且類型不一的數據?

      分享:
      相關文章

      編輯

      聚焦數據科學,連接 AI 開發者。更多精彩內容,請訪問:yanxishe.com
      當月熱門文章
      最新文章
      請填寫申請人資料
      姓名
      電話
      郵箱
      微信號
      作品鏈接
      個人簡介
      為了您的賬戶安全,請驗證郵箱
      您的郵箱還未驗證,完成可獲20積分喲!
      請驗證您的郵箱
      立即驗證
      完善賬號信息
      您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
      立即設置 以后再說
      主站蜘蛛池模板: 国产av大全| 国产激情久久久久成熟影院苍井空| 国产真实乱子伦精品视手机观看| 亚洲天堂伊人久久a成人| 国产精品私拍99pans大尺度| 群交射精白浆视频| 国产av中文字幕| 国产成人精品三级麻豆| 91熟女视频| 国产人成在线成免费视频| 337人体做爰大胆视频| 亚洲精品揄拍自拍首页一| 少妇人妻av无码专区| 国产在线你懂| 精品人妻一区二区三区-国产精品| 国产人妖网站| 少妇高潮喷水在线观看| 国内精品久久人妻无码不卡| 国产一区二区三区禁18| 天天射天天日本一道| 古交市| 亚洲国产欧美在线观看| 亚欧女AV| 亚洲3p无码一区二区三区| 国产91小视频在线观看| 久久久久久成人毛片免费看| 亚洲国产精品乱码一区二区| 国产精品18久久久| 国产精品成人va在线播放| 南江县| 小鲜肉自慰网站| 久久成人网站,一本一| 国产成人精品亚洲| 精品无码一区在线观看| 久久性视频| 日韩深夜福利视频在线观看| 甜蜜视频中文字幕不卡无码| 精品香蕉一区二区三区| 亚洲女同精品久久女同| 日韩人妻无码一区二区三区99| 国产人免费人成免费视频|