在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用 Featuretools庫來了解自動化特征工程如何改變并優(yōu)化機器學習的工作方式

電子工程師 ? 來源:未知 ? 作者:李倩 ? 2018-09-05 09:17 ? 次閱讀

近年來,我們在自動模型選擇和超參數(shù)調優(yōu)方面取得了進展,但機器學習流程中最重要的方面--特征工程,在很大程度上被我們所忽略。在本文中,我們將使用Featuretools庫來了解自動化特征工程如何改變并優(yōu)化機器學習的工作方式。

Featuretools是一個開源的Python庫,用于自動化特征工程

自動化特征工程是一種相對較新的技術,用于解決真實世界數(shù)據(jù)集所面臨的一系列科學問題。自動特征工程能夠縮減時間成本,構建更優(yōu)秀的預測模型,生成更有意義的特征,還能防止數(shù)據(jù)泄漏(data leakage)。它具有強大的功能,以至于我相信它將是任何機器學習工作流程的標準部分。

接下來,我們將通過以下兩個項目來進一步了解它的強大之處,這兩個項目都能體現(xiàn)自動化特征工程的一些優(yōu)點:

貸款還款預測(Loan Repayment Prediction):相比于手動特征工程,自動化特征工程能夠將機器學習開發(fā)時間縮短10倍,同時還能提供更好的模型表現(xiàn)。

項目的Notebooks地址:

https://github.com/Featuretools/Automated-Manual-Comparison/tree/master/Loan%20Repayment

零售支出預測(Retail Spending Prediction):自動化特征工程能夠通過內部時間序列過濾器的處理,創(chuàng)造更有意義的特征,同時還能防止數(shù)據(jù)泄漏,從而成功實現(xiàn)模型的部署。

項目的Notebooks地址:

https://github.com/Featuretools/Automated-Manual-Comparison/tree/master/Retail%20Spending

手動特征工程 vs自動特征工程

特征工程是指獲取數(shù)據(jù)集并構建解釋的特征變量的過程,而特征變量能夠用于訓練機器學習模型并用于預測。通常,分布于多張表中的數(shù)據(jù)需要匯集到一張表中,其中行代表觀察量,而列代表特征。

手動特征工程是一種傳統(tǒng)的特征工程方法,它主要是利用領域知識來構建特征,一次只能產(chǎn)生一個特征,這是一個繁瑣,費時又易出錯的過程。此外,每次進行手動特征工程的代碼是針對特定的問題,當我們要解決一個新問題、新數(shù)據(jù)集時,我們需要重寫相關代碼。

自動化特征工程是通過從一組相關的數(shù)據(jù)表中自動提取有用且有意義的特征,這種方法能夠改變標準的工作流程,并適用于任務數(shù)據(jù)集的有關問題。此外,它不僅減少了特征工程所需的時間,還創(chuàng)建了可解釋性的特征,并通過過濾與時間相關的數(shù)據(jù)來防止數(shù)據(jù)泄漏。

貸款還款項目

更快更好地構建模型

Home Credit Loan 問題是于今日在 Kaggle上結束的一項機器學習競賽項目,其目標是預測客戶是否能夠償還貸款。對于數(shù)據(jù)科學家而言,這個問題的挑戰(zhàn)在于其數(shù)據(jù)的大小及所分布的范圍。我們來看下完整的數(shù)據(jù)集,可以看到分布在七張表中有5800萬行數(shù)據(jù),而機器學習方法需要針對一張表進行模型訓練。此時,特征工程就需要將每個客戶的所有信息提取并融合到一個表中。

特征工程需要從數(shù)據(jù)表格集中獲取所有的數(shù)據(jù)信息并整合到一張表中

對于這個問題,我先是嘗試用傳統(tǒng)的手動特征工程來解決,共花了10個小時手動地創(chuàng)建一組特征。首先,我研究了其他數(shù)據(jù)科學家的工作,探索數(shù)據(jù)與研究,以便獲得必要的領域知識。然后我通過編程將所需的知識寫成代碼,每次構建一個特征。對于一個手動特征,我使用 3 個不同的表格,找到了客戶在之前貸款中延遲付款的總數(shù)。

最終,手動特征工程取得了相當不錯的表現(xiàn):相比于基線特征,手動特征工程取得了 65% 的性能改進,表明了特征工程的適用性和重要性。

然而,由于這種方法的效率很低,我無法在這里展開描述整個過程。對于手動特征工程,每個特征花費超過 15 分鐘的時間,因為我用的這種方法一次只能創(chuàng)建一個特征。

手動特征工程流程

除了繁瑣性和耗時等缺點外,手動特征工程還有如下弊端:

只針對特定問題:對于這個項目,我寫了幾個小時的代碼不能應用于其他任何問題

容易出錯:每行代碼都有可能產(chǎn)生錯誤

此外,手動特征工程所提取的特征還會受到人類創(chuàng)造力和耐心的限制:對于一個問題,我們需要考慮大量的特征,而每個特征的構建又需要大量的時間。

從手動到自動的特征工程

像 Featuretools 可以實現(xiàn)的功能那樣,自動化特征工程能夠從一組相關的數(shù)據(jù)表中創(chuàng)建數(shù)千個特征,我們所需要知道的就是數(shù)據(jù)表的基本結構以及它們之間的關系。我們將單個數(shù)據(jù)結構稱為實體集(entity set),一旦擁有一個實體集,我們將在數(shù)據(jù)集中采用深度特征合成方法(DFS),通過調用一個函數(shù)來構建數(shù)千個特征。

使用 Featuretools進行自動化特征工程

DFS 使用稱為“基元 primitives”的函數(shù)來聚合并轉換我們的數(shù)據(jù)。這些primitives的獲取可以跟獲取列的平均值或最大值一樣得簡單,也可以通過基于主體的專業(yè)知識那樣相對復雜的方式來獲取,因為Featuretools允許我們針對任務自定義我們的 primitives。

特征基元(feature primitives)包括許多需要手動完成的操作,但通過 Featuretools,我們可以在任何關系數(shù)據(jù)庫中使用相同的確切語法,也就是說在不同的數(shù)據(jù)集上我們也不需要重寫代碼就能夠使用這些操作。此外,當我們將 primitives堆疊在一起以創(chuàng)建深層特征時,DFS的強大之處就盡顯無疑了。

有關 DFS的更多信息,可以參閱:

https://www.featurelabs.com/blog/deep-feature-synthesis/

下面,我將演示如何構建這個過程。這里,我只需要一行的代碼就能使用DFS 操作,并使用7張表格數(shù)據(jù)為每個客戶創(chuàng)建數(shù)千個功能,如下所示,其中 ft代表導入的 featuretools庫:

1#Deepfeaturesynthesis2feature_matrix,features=ft.dfs(entityset=es,3target_entity='clients',4agg_primitives=agg_primitives,5trans_primitives=trans_primitives)

以下是我們從 Featuretools自動獲得的 1820 個功能中的一部分,包括:

客戶以前貸款所支付的最高總額。這是使用 3 個表中的 MAX和 SUM值創(chuàng)建的。

客戶信用卡的平均債務排名。這是使用 2 個表中的 PERCENTILE和MEAN值創(chuàng)建的。

客戶是否在申請過程中提交了兩份文件。這是使用 AND轉換和 1 個表創(chuàng)建的。

每一個特征都是使用簡單的聚合構建的,因此它也是可解釋的。 Featuretools不僅能夠創(chuàng)建許多我們手動也能完成的相同特征,還有大量手動無法創(chuàng)建的特征。這些特征要么是我們所無法考慮到,要么是需要昂貴的時間成本構建。雖然并非每個特征都與我們的問題相關,而某些功能間還具有高相關性,所以相比于特征量不足而言,更多的特征可能會更有助于我們解決問題。

經(jīng)過一些特征選擇和模型優(yōu)化后,這些特征在預測模型中的性能表現(xiàn)也更好,而整個模型的運行時間為1小時,與手動過程相比縮減了 10 倍。Featuretools是個高??焖俚淖詣犹卣鞴こ處?,它需要較少的領域專業(yè)知識,因此所需編寫的代碼行數(shù)也比手動特征工程要少得多。

學習 Featuretools需要花費一些時間,但我認為這是一項值得、能夠帶來回報的投資?;艘恍r時間學會 Featuretools,你可以將其應用于任何機器學習的特征工程問題。

以下圖表是我對貸款償還項目的一些總結:

自動化特征工程vs手動特征工程:開發(fā)時間、特征數(shù)以及性能對比

開發(fā)時間:考慮到最終的特征工程代碼所需的每一個特征時間--手動特征工程需要10小時,而自動化特征工程只需要 1 小時。

生成的特征數(shù)量:手動特征工程生成 30 個特征,而自動化特征工程創(chuàng)建了 1820 個特征。

使用提取的特征訓練模型所取得的相對于基線的性能改進:手動特征工程性能改進65%,而自動化特征工程取得了 66% 的提升。

此外,我為第一個項目編寫的 Featuretools代碼還可以應用于任何數(shù)據(jù)集,而手動工程代碼則需要為了一個新的數(shù)據(jù)集重寫代碼。

零售支出項目

構建有意義的功能并防止數(shù)據(jù)泄漏

第二個項目是客戶的零售支出預測,所使用的數(shù)據(jù)集是在線的客戶交易記錄。該預測問題是將客戶分為兩個部分,即下個月花費超過 500 美元的人和花費不超過 500 美元的人。每個客戶對應多個標簽,即將客戶在上個月的標簽作為下個月的預測使用。例如,我們可以將客戶在 5 月份的支出作為標簽,然后在 6 月份中使用,依此類推。

每個客戶都是多次使用的訓練樣本

多次使用客戶標簽會給創(chuàng)建訓練數(shù)據(jù)帶來困難:給定某個月份,當為客戶提取對應特征時,即便我們可以訪問這些數(shù)據(jù),也無法從這個月中獲取未來幾個月的任何信息。在部署中,我們并沒有未來的數(shù)據(jù),因此無法使用它來訓練模型。這也是我們經(jīng)常在現(xiàn)實世界數(shù)據(jù)集上所面臨的的挑戰(zhàn):由于模型無法在有效的數(shù)據(jù)集上進行訓練,因此在現(xiàn)實世界應用中,這種模型的性能通常都很糟糕。

幸運的是,這個問題在 Featuretools中能夠很容易地解決。在深度特征合成(DFS)函數(shù)中,如上所示,其中截止時間表示我們不能使用任何數(shù)據(jù)作為標簽的點,而 Featuretools在構建特征時會自動地將時間考慮在內。

給定某一月份,我們可以使用之前月份過濾掉的數(shù)據(jù)來構建客戶的特征。請注意,調用我們創(chuàng)建的特征集的過程與貸款還款項目中的調用相同,只是多了一個 cutoff_time參數(shù)

1#Deepfeaturesynthesis2feature_matrix,features=ft.dfs(entityset=es,3target_entity='customers',4agg_primitives=agg_primitives,5trans_primitives=trans_primitives,6cutoff_time=cutoff_times)

運行Deep Feature Synthesis得到的結果是一個特征表,即每個客戶在每個月對應一個特征。我們可以使用這些特征和標簽來訓練我們的模型,然后對往后的任何月份進行預測。此外,我們不用擔心構建模型所使用的特征會包含未來的信息,也不用擔心由此導致不公平性及錯誤的訓練得分。

利用自動化特征,我能夠構建一個機器學習模型并用于預測模型某月的支出。結果表明,相比于基線模型取得的0.69 ROC AUC表現(xiàn),我們的模型明顯更優(yōu),能夠達到0.90 ROC AUC。

除了預測性能外,F(xiàn)eaturetools實現(xiàn)還能提供一個很有價值的東西:可解釋性功能。下面,我們來看看隨機森林模型中 15 個最重要的特征:

利用Featuretools,隨機森林模型所獲取的15個最重要特征

特征重要性告訴我們,影響客戶下個月支出預測的最重要因素。在這里,我們可以知道,用戶上月支出總和 SUM(purchases.total)和購買數(shù)量 SUM(purchases.quantity)是影響下月支出預測的關鍵因素。雖然這些特征我們可以通過手動構建,但是我們擔心數(shù)據(jù)的泄漏,因此我們需要創(chuàng)建一個開發(fā)階段性能更好的模型。

如果該工具已經(jīng)能夠自動創(chuàng)建一些有意義的特征而無需擔心其有效性,那么我們?yōu)槭裁催€要手動實現(xiàn)呢?此外,對于這個問題,自動化特征是完全清晰的,也能夠向我們解釋現(xiàn)實世界的推理過程。

即使手動特征工程需要花費比 Featuretools多得多的時間,但我也無法創(chuàng)建出一組性能接近相同的特征。下圖顯示了使用在兩個數(shù)據(jù)集上使用訓練的模型對未來月客戶支出預測的 ROC 曲線,其中越靠近左上角的曲線代表更好的性能:

自動特征工程 vs手動特征工程的 ROC曲線

其中越靠近左上部分的曲線表示越好的性能

我甚至不確定手動特征是否是通過有效的數(shù)據(jù)創(chuàng)建的,但起碼 Featuretools是這樣實現(xiàn)的,因此我也不需要擔心時間相關問題中的數(shù)據(jù)泄漏問題。也許,無法通過手動設計一組有用的特征可以表明數(shù)據(jù)科學家的失敗,但是如果自動化工具能夠安全地我們實現(xiàn),那為什么我們不使用呢?

結論

拋開以上這些項目,我相信自動化特征工程將會是機器學習工作流程中不可或缺的一部分。雖然該技術目前還不完美,但仍能顯著地提高我們的工作效率。

下面我總結了自動化特征工程的一些要點:

能將開發(fā)時間縮短 10 倍

能夠構建相同甚至更好性能的模型

提供具有現(xiàn)實意義的可解釋功能

防止模型使用無效的、不正確的數(shù)據(jù)特征

適合現(xiàn)有的工作流程和機器學習模型

通過自動化特征工程可以使這些工作變得更加簡單,我們之前為大家介紹的基于 Python 的自動特征工程可以教大家如何快速開始自動創(chuàng)建機器學習特征。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關注

    關注

    30

    文章

    4815

    瀏覽量

    68852
  • 機器學習
    +關注

    關注

    66

    文章

    8434

    瀏覽量

    132872

原文標題:手動特征工程已經(jīng)OUT了!自動特征工程才是改進機器學習的方式

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何輕松掌握機器學習概念和在工業(yè)自動化中的應用

    ,突破傳統(tǒng)自動化技術發(fā)展的天花板呢?面對人工智能、機器學習、深度學習、神經(jīng)網(wǎng)絡……這些深奧的概念,如何快速了解和掌握呢? 今天,給我5分鐘,
    的頭像 發(fā)表于 01-16 09:45 ?3159次閱讀

    招聘自動化、電氣自動化、自動化控制工程

    招聘自動化、電氣自動化、自動化控制工程師,掛證,不坐班,要求持有相關專業(yè)的中級職稱證,用于我司資質申報工作上,湊資質人員申報資質,不存在風險
    發(fā)表于 10-24 18:06

    四元數(shù)視覺:CCD機器視覺系統(tǒng)運行原理及工作方式

    產(chǎn)品的自動化檢測、識別、定位等功能。CCD機器視覺的工作方式機器視覺系統(tǒng)采用CCD照相機,將被測的目標轉換成圖像信號,傳送給專用的圖像處理系統(tǒng),根據(jù)像素分布和亮度、顏色等信息,轉變成數(shù)
    發(fā)表于 05-27 14:33

    CCD機器視覺系統(tǒng)運行原理及工作方式

    執(zhí)行機構,實現(xiàn)產(chǎn)品的自動化檢測、識別、定位等功能。  CCD機器視覺的工作方式  機器視覺系統(tǒng)采用CCD照相機,將被測的目標轉換成圖像信號,傳送給專用的圖像處理系統(tǒng),根據(jù)像素分布和亮度
    發(fā)表于 12-10 16:32

    PLC技術在電氣工程及其自動化控制中的應用

    電氣工程及其自動化控制中,技術人員應該要了解并且重視現(xiàn)場的傳感情況,然后根據(jù)具體情況,充分利用PLC技術的優(yōu)勢。其次,在主站系統(tǒng)使用PLC技術時,技術人員應該做好準備工作
    發(fā)表于 01-18 16:20

    CCD機器視覺系統(tǒng)有哪些運行原理及工作方式?

    產(chǎn)品的位置、尺寸、外觀信息,根據(jù)人為預先設定的標準進行合格與否的判斷,輸出其判斷信息給執(zhí)行機構,實現(xiàn)產(chǎn)品的自動化檢測、識別、定位等功能。CCD機器視覺的工作方式
    發(fā)表于 08-18 16:48

    想掌握機器學習技術?從了解特征工程開始

    問題。解決這些問題的方法與數(shù)據(jù)預處理的方法在機器學習中被統(tǒng)稱為特征工程,今天我們就來了解一下吧。?◆??◆??◆
    的頭像 發(fā)表于 12-05 09:36 ?2153次閱讀

    自動化機器學習是什么情況

    機器學習發(fā)展中遇到的問題,一個核心因素是人,而機器學習工作又有大量的人工干預,如特征提取、模型
    發(fā)表于 11-04 16:35 ?1425次閱讀

    破解自動化機器學習的黑匣子的具體詳情

    麻省理工學院和其他地方的研究人員已經(jīng)開發(fā)了一種交互式工具,該工具首次使用戶可以查看和控制自動化機器學習系統(tǒng)的工作方式。目的是建立對這些系統(tǒng)的信心
    的頭像 發(fā)表于 04-15 14:38 ?2024次閱讀

    9種方法來利用自動化軟件以更好地了解數(shù)據(jù)

    RPA通常被視為一種自動化工具,現(xiàn)在企業(yè)逐漸意識到這些工具也可以幫助實現(xiàn)自動化各種分析過程。企業(yè)正在越來越多地在分析任務中使用機器人流程自動化,從收集分布在整個公司的數(shù)據(jù)到分析業(yè)務流程
    的頭像 發(fā)表于 10-08 14:33 ?1795次閱讀

    人工智能和機器學習為DevOps帶來了新的自動化功能

    人工智能和機器學習為DevOps帶來了新的自動化功能,為此需要對這些技術如何優(yōu)化組織運營的示例進行了解
    的頭像 發(fā)表于 10-16 14:31 ?1868次閱讀

    自動化立體工作原理

    自動化立體可以說是現(xiàn)代物流倉儲當中重要的組成部分,是企業(yè)現(xiàn)代的一種代表,可以實現(xiàn)存取自動化,操作簡便,那么你知不知道
    發(fā)表于 07-01 09:24 ?1807次閱讀

    機械自動化就業(yè)方向及前景就業(yè)市場的影響

    提高自動化是現(xiàn)實,自動化正在改變人們的工作方式,它將改變人們未來從事的工作類型。
    發(fā)表于 11-15 16:37 ?1737次閱讀

    改變工作方式的Git小技巧

    。 Git的特點: 1. 直接記錄快照,而非差異比較 2.近乎所有操作都是本地執(zhí)行 3. 時刻保持數(shù)據(jù)完整性 和 Git 相關的改變工作方式的一些小技巧: 1、Git 中的自動糾錯 2、對提交進行計數(shù) 3、倉庫
    的頭像 發(fā)表于 01-30 11:11 ?1026次閱讀

    ZR執(zhí)行器如何改變我們的工作方式-速程精密

    ZR執(zhí)行器如何改變我們的工作方式-速程精密 隨著科技的飛速發(fā)展,各種智能工具和設備不斷涌現(xiàn),為我們的生活和工作來了極大的便利。其中,ZR執(zhí)行器作為近年來備受關注的一種
    的頭像 發(fā)表于 04-19 19:29 ?419次閱讀
    主站蜘蛛池模板: 精品欧美小视频在线观看| 国产专区青青草原亚洲| 亚洲插插插| 亚洲色图综合| 四虎永久在线精品影院| 色五月视频| 日韩一二三级| 欧美一级视频在线| 你懂得视频在线| 狠狠狠色丁香婷婷综合久久五月| 丁香四月婷婷| 天天做天天爱天天爽综合区| 毛片天天看| 黄在线观看在线播放720p| 欧美视频一区二区三区在线观看| 一级国产特黄aa大片| 色天使久久| 恐怖片大全恐怖片免费观看好看的恐怖片| 国产亚洲精品成人a在线| 夜夜cao| 久久久国产乱子伦精品| 免费在线看视频| 综合激情六月| 日本三级黄色网址| 国产成人精品男人的天堂538| 夜色福利| 国产精品久久久久久久午夜片| 69xxx视频| 亚色国产| 毛片高清一区二区三区| 一级片在线免费| 国产精品成人观看视频国产奇米| 亚洲天堂视频在线播放| 天堂亚洲网| 狠狠色丁香婷婷| 天天摸天天看天天做天天爽| 在线观看免费黄视频| 综合色天天| 男女爱爱爽爽福利免费视频| 一级美女视频| 亚洲酒色1314狠狠做|