在大型金融資料集上使用機器學習的特徵工程測試

格伯納發表於2018-09-23


 對於從事銀行大型金融資料集的資料科學家和分析師來說,確定信用違約或壞賬的可能性是他們所做的最重要的活動之一。這一行動是確定銀行信貸政策、風險管理和信貸業務的重要任務,對於向潛在客戶銷售信貸產品的銀行而言,這是真正的競爭優勢。

 

然而,對於具有大量資料集的情況,對於具有下游金融影響的分析師來說,這就變成了一種極端基於判斷的呼叫(通常是不準確的)。此外,在不消除決策制定的非關鍵特性的情況下,最先進的機器學習演算法也變得無能為力,因為它們被灌輸了“無意義”的資料。

 

最近的機器學習範例提供了使用內建演算法的解決方案,這些演算法可以幫助資料分析師為銷售和運營團隊提供業務洞察,從而在客戶獲取和活動管理方面採取積極主動的行動。

 

以下流程是使用Lending Club的真實客戶資料(公共資訊)開發的。當然,這不包括機密的客戶資訊,如姓名、地址、聯絡方式和社會保障資訊。但是,就本活動而言,我們不需要任何機密的客戶資訊。公共資料集中提供的功能應該足以讓我們提出預期見解。

 

我們將使用Jupyter Notebook編寫一個簡短的python程式,涵蓋以下活動- 

資料採購

資料探索和清理

特徵重要性

情節和視覺化

讓我們開始吧。

第1步- 採購資料

我們可以使用具有真實世界貸款和信用預設資料點的公共領域中可用的LendingClub資料。一旦下載了資料(csv檔案),就可以將其上傳到Jupyter筆記本中的相應資料夾。

注意:如果你沒有Jupyter筆記本,強烈建議下載/安裝和anaconda()

 

第2步- 資料探索和清理

匯入必要的包並讀取資料集

 

刪除不相關的欄位

 

做一些基本的探索

 

 

作為來自該領域的人,直觀的是,就業長度是信用管理的關鍵因素之一,就業長度資料完全搞砸了。我們需要清理它。

 

同樣清理可用於條款和利率的資訊。

 

使用dummy將關鍵分類值轉換為相關數字

 

現在開始研究目標功能,即“貸款狀態”。除了“全額支付”和“當前”客戶,我們可以讓所有客戶處於拖欠狀態,因此具有更高的違約傾向。

 

利率領域似乎完全搞砸了,我們需要清理它。

 

現在看來我們有一個相當乾淨的資料,我們可以使用演算法來獲得一些下降結果。但在此之前,最好以csv格式備份乾淨檔案,以備將來參考和離線報告。

 

讓我們做一些基本的探索,使用一些繪圖技術來研究資料屬性。

 

第3步 –使用隨機森林做特徵選擇

 

這是本文中最重要的一步,重點介紹了使用隨機森林進行分析的最重要特徵的技術。這對於評估特徵在機器學習任務中的重要性非常有用,尤其是在我們處理大量特徵時。換句話說,我們可以說這是資料清理的高階階段,用於刪除對我們的目標功能沒有任何有意義的貢獻的非必要資料。

 

此步驟可能需要相當長的時間才能執行。所以有一些耐心:-)

所有122個功能現在按其重要性的降序顯示,並且作為在此域上工作的資料分析師/科學家,刪除非關鍵功能不應該是一項艱鉅的任務。

 

第4步- 繪圖和視覺化

 

即使我們有一系列重要功能,但始終建議對此列表進行視覺化確認,以用於各種操作或管理目的。

 

由於我們有122個特徵,上面的情節看起來很混亂。讓我們嘗試探索10個最關鍵的功能,看看它是如何出現的

 

現在,我們可以或多或少地假設特徵20是確定貸款違約的最關鍵特徵。您可以根據組織的要求處理繪圖。此外,您可以透過此機制將特徵數量從“數千”減少到不到100。這確實為銀行提供了一個強大的選擇,可以在資料被提供給複雜的機器/深度學習演算法之前執行對資料的最佳化。

 

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31509949/viewspace-2214739/,如需轉載,請註明出處,否則將追究法律責任。

相關文章