日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

微软NNI-业内最亲民的AutoML工具学习笔记(1):AutoFeatureENG

發(fā)布時間:2025/4/5 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微软NNI-业内最亲民的AutoML工具学习笔记(1):AutoFeatureENG 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

01 AutoML概述

記得若干年前的某次周會上,我說“AutoML不光是調(diào)參,應(yīng)該包含自動特征工程。”當(dāng)時得到了大佬們的嘲諷,說我不懂技術(shù)瞎說。今天回過頭來看AutoML是一個系統(tǒng)化的體系,包含3個要素:

  • 自動特征工程AutoFeatureEng

  • 自動調(diào)參AutoTuning

  • 自動神經(jīng)網(wǎng)絡(luò)探索NAS

  • 02 NNI概述

    NNI(NerualNetworkIntelligence)是微軟發(fā)起的一個AutoML開源工具,覆蓋了上文提到的3要素,地址:

    https://github.com/SpongebBob/tabular_automl_NNI

    我目前只學(xué)習(xí)了自動特征工程這一個模塊,總體看微軟的工具都有一個比較大的特點,技術(shù)可能不一定多新穎,但是設(shè)計都非常贊。NNI的AutoFeatureENG基本包含了用戶對于AutoFeatureENG的一切幻想。在微軟做PD應(yīng)該挺幸福吧,底層的這些個框架的設(shè)計都極為合理。

    ?

    03 細說NNI-AutoFeatureENG

    使用是非常簡單的,安裝下文件中的require,然后

    pip install NNI?

    NNI把AutoFeatureENG拆分成exploration和selection兩個模塊。exploration主要是特征衍生和交叉,selection講的是如何做特征篩選。

    04 特征Exploration

    在特征衍生方面,微軟教科書般的把特征衍生分成以下一些方式:

    count:傳統(tǒng)的統(tǒng)計,統(tǒng)計一些數(shù)據(jù)的出現(xiàn)頻率

    target:特征和目標(biāo)列的一些映射特征

    embedding:把特征看成句子,用word2vector的方式制作向量

    crosscount:特征間除法,有點類似CTR

    aggregete:特征的min/max/var/mean

    nunique、histstat::這兩個沒太看懂

    具體特征怎么交叉,哪一列和哪一列交叉,每一列特征用什么方式衍生呢?可以通過search_space.json這個文件控制。

    ?

    Exploration的目的就是長生出新的特征。在代碼里可以用get parameter的方式獲取tuning的參數(shù):

    RECEIVED_PARAMS = nni.get_next_parameter()

    05 特征Selection

    為了避免特征泛濫的情況,避免過擬合,一定要有Selection的機制挑選特征。這里微軟同學(xué)用了個小心機,在特征篩選的時候主推了同樣是他們自己開源的算法lightGBM,

    了解xgboost或者GBDT算法同學(xué)應(yīng)該知道,這種樹形結(jié)構(gòu)的算法是很容易計算出每個特征對于結(jié)果的影響的。所以使用lightGBM可以天然的進行特征篩選。弊病就是,如果下游是個LR這種線性算法,篩選出來的特征是否具備普適性。跑通后產(chǎn)出的結(jié)果包含了每個特征的value以及屬性。

    06 總結(jié)

    NNI的AutoFeature模塊是給整個行業(yè)制定了一個教科書般的標(biāo)準(zhǔn),告訴大家這個東西要怎么做,有哪些模塊,使用起來非常方便。但是如果只是基于這樣簡單的模式,不一定能達到很好的效果。我覺得在Exploration方面可以引用一些DNN的特征組合方式,提取更高維度的特征。在Selection方面可以有更多的智能化方案,比如可以基于下游的算法自動選擇Selection機制。

    總之NNI在設(shè)計曾給了我一些啟發(fā),還是一個挺好的開源項目,推薦給大家~大家用的時候如果是Mac電腦可能會遇到gcc的問題,因為開源項目自帶的腳本是基于gcc7編譯的,可以用下面的方法繞過去。

    brew install libomp

    總結(jié)

    以上是生活随笔為你收集整理的微软NNI-业内最亲民的AutoML工具学习笔记(1):AutoFeatureENG的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。