特徵工程怎麼做

2021-08-09 15:02:44 字數 1920 閱讀 3804

在工業應用中,feature 比演算法重要,資料比 feature 重要,有很多 kaggle 參賽者分享經驗時也是說 feature engineering 很重要,今天來寫一寫特徵工程相關的。

本文結構

feature engineering 是什麼

有什麼用

怎麼用實際應用

參考先用例子來直觀地了解一下

例如要分析聲音,直接拿來資料,是什麼都學不到的,需要進行 fourier 變換

例如分析,判斷這個是不是蘋果,可以選擇 形狀,顏色分布,邊 來作為feature

特徵工程就是選擇一些表示典型特徵的資料,來替代原始資料作為模型的輸入,進而得到比較好的輸出效果。

特徵越好,模型的效能越好,而且可以不用很複雜的數學模型也能達到不錯的效果參考

特徵工程是個過程,包括三個子模組:特徵構建->特徵提取->特徵選擇

特徵構建:根據原始資料構建新的特徵,需要找出一些具有物理意義的特徵。

特徵提取:自動地構建新的特徵,將原始特徵轉換為一組具有明顯物理意義或者統計意義或核的特徵。例如 gabor、幾何特徵、紋理等。

常用的方法有:

特徵選擇:從特徵集合中挑選一組最具統計意義的特徵子集,把無關的特徵刪掉,從而達到降維的效果

常用的方法:

embeded(整合方法):regularization,或者使用決策樹思想,random forest和gradient boosting等

這篇文章《使用sklearn做特徵工程》, 使用sklearn中的iris(鳶尾花)資料集來對特徵處理的過程進行了說明,包括包的使用,資料預處理,還有上面提到的一些特徵選擇方法的 python **和應用例子:

特徵選擇部分:

embedded:基於l1,l2懲罰項的特徵選擇法,基於樹模型gbdt的特徵選擇法

特徵提取部分:

降維:主成分分析法(pca),線性判別分析法(lda)

對於上面提到的方法,還需要學習一下各自的含義原理和應用場景。

這是 cs 294: practical machine learning的乙個課件,講了 feature engineer 主要方法的原理和應用結果

此外,scikit learn 有關於 feature extraction 的講解和**例子,可以學習學習

下面是quora上對『what are some best practices in feature engineering?』這個問題的乙個回答,講了一些實際的經驗,應用時可以作為一點啟發:

理解資料

特徵是連續的還是離散

特徵資料的分布如何

分布依賴的因素

是否有資料缺失,重複,交叉

特徵的**

資料是實時的嗎

頭腦風暴更多的特徵

好的特徵具有下面特點

能夠直觀地解釋

可以被計算

檢驗你的猜測

建模完成後要檢驗,資料分割,交叉檢驗等。

圍繞你的目標思考

無論是做回歸,分類,還是聚類問題,你的猜想和建模都是為了解決這個問題服務的。

堅持 rfmvt 原則

不要過於工程化

快速迭代,最有效的方式就是提出正確的問題。

推薦閱讀

歷史技術博文鏈結彙總

也許可以找到你想要的

怎麼做產品

和使用者交流是為了做出更好的 產品 打造更好的體驗,但真正好的產品出現之前,使用者也不知道他們想要什麼 比如,在汽車沒出現的馬車時代,使用者會說 我需要一匹更快的馬 那些情緒激動 很生氣的使用者常常能變為最忠實的使用者,只要你能夠打動他們。所以,情緒裡有絕對的價值,如果你能在這些使用者生氣的時候,好...

直播怎麼做?

1 手機 那麼手機直播需要哪些裝置呢,首先是一部畫素高的手機,這個就不具體說明了。其次是光源,也就是補光燈,布光是一門專業的學科,有興趣的同學可以找點資料深入了解一下。一般在環境光充足的情況下可以直接選擇那種燈 支架一體的,可自行某寶。3 攝像頭 我們平時所看的才藝主播,帶貨主播,遊戲主播,絕大部分...

seo優化方案怎麼做?seo怎麼做優化?

但要害詞在優化之前應該先進行選擇,這一項作業意義嚴峻。一些短要害詞雖然上手,但越是上手的要害詞流量就越為大公司所把控。中小型企業在優化這些要害詞時會好不容易且難以收到成效。所以關於新 或是一些中小型的企業來說,選擇一些較為簡略優化的要害詞就顯得尤為要害。要害詞優化的難易度可以通過查詢要害詞查詢熱度來...