如何利用機器學習創造價值?

人工智慧頻道發表於2018-11-20

想象一下這樣一個場景:老闆要求你構建一個機器學習模型,對每個月訂閱服務中流失的客戶進行預測。而客戶流失被定義為超過31天沒有活動。你可以通過人工的辦法統計客戶流失的數量,並採用頭腦風暴和工程師特徵的歷史例項來精心估測,然後訓練並人工調整機器學習模型以進行預測。

如何利用機器學習創造價值?


你可能對於測試集的指標感到滿意,然後將這個結果提交給到你的老闆。但現在你必須要開發一個不同的解決方案:每兩週進行一次預測,並將客戶流失定義為14天沒有活動。令人沮喪的是,你可能發現以前的工作都不能重複使用,因為它是針對單個預測問題而設計的。

於是,你要為這個狹窄的流失定義編寫了一個標記函式,並且管道中的特徵工程和建模中下游步驟也依賴於初始引數,並且必須重做。由於對一組特定值進行硬編碼,你必須構建一個全新的管道來解決問題定義中的微小變化。

構建機器學習過程

這種情況表明目前將如何解決機器學習問題。該過程是臨時的,即使使用相同的資料,也需要為每個引數集提供自定義解決方案。其結果是錯過了機器學習的全部好處,因為它們僅限於用時間密集的方法解決少數問題。

缺乏標準化的方法意味著不存在解決機器學習問題的框架,而機器學習可以快速地適應並部署為問題變化的引數。

我們如何改進這個過程?使機器學習更容易獲取將需要一個用於建立和解決問題的通用框架。該框架應適應現有工具,能夠快速適應不斷變化的引數,適用於不同行業,並提供足夠的結構,為資料科學家提供一條明確的途徑,用於佈置和解決機器學習中的具有意義的問題。

我們在特徵實驗室(Feature Labs)對如何解決這個問題進行了大量思考,並開發了我們認為通過機器學習解決有用問題的更好方法。在本系列接下來的三部分中,我將介紹如何以結構化、可重複的方式構建框架和構建機器學習解決方案,這些方法是圍繞預測工程、特徵工程和建模的步驟構建的。

https://www.featurelabs.com/

我們將逐步介紹完全應用於預測客戶流失的一個用例的方法,並瞭解如果問題的引數發生變化,將如何調整解決方案。此外,我們將能夠採用用於機器學習的Pandas、Scikit-Learn、Featuretools等現有的特徵工具。

通用的機器學習框架概述如下:

(1)預測工程:陳述業務需求,轉化為機器學習問題,並從資料集生成標記示例。

(2)特徵工程:從每個標籤的原始資料中提取預測變數,也就是特徵。

(3)建模:在部署到新資料之前,針對特徵訓練機器學習模型,調整業務需求並驗證預測。 

如何利用機器學習創造價值?

用於通過機器學習定義和解決有意義問題的通用框架

我們將逐步介紹每個步驟的基礎知識以及如何在程式碼中實現它們。完整的專案在GitHub上以Jupyter Notebooks的形式提供。(我在Feature Labs工作,Jupyter Notebooks是一個初創的開發工具,包括用於解決機器學習問題的Featuretools。這裡記錄的所有工作都是用開源工具和資料完成的。) https://github.com/Featuretools/predicting-customer-churn

雖然該專案僅討論了一個應用程式,但可以跨行業應用相同的流程來構建有用的機器學習解決方案。最終交付成果是一個框架,可用於解決任何領域的機器學習問題,並且可直接應用於你自己的客戶流失資料集的特定解決方案。

商業動機:確保解決正確的問題

除非可以為公司創造價值,否則最複雜的機器學習管道將不會產生任何影響。因此,構建機器學習任務的第一步是瞭解業務需求,以便確定要解決的正確問題。在這個系列中,我們將處理解決客戶流失的常見問題。

對於基於訂閱的商業模式,預測哪些客戶會流失,並停止在指定的時間段內支付服務費用,這至關重要。準確預測客戶是否流失以及何時會流失,可以讓企業與那些有退訂風險的客戶進行互動,或者為降低費率提供優惠,以此作為維持訂閱的激勵動力。有效的客戶流失預測模型使公司能夠積極主動地擴大客戶群。

對於客戶流失問題,業務需求是:

通過降低客戶流失率來增加付費使用者的數量。

減少客戶流失傳統的方法需要使用生存分析技術來預測哪些客戶會流失,但是,考慮到大量的歷史客戶行為資料,這提供了監督機器學習的理想應用。

https://towardsdatascience.com/survival-analysis-in-python-a-model-for-customer-churn-e737c5242822

https://www.sciencedirect.com/science/article/pii/S1569190X15000386

我們可以通過構建監督演算法來解決機器學習的業務問題,該演算法從過去的資料中學習以預測客戶流失。

陳述業務目標並根據機器學習可解決的任務表達它是管道中關鍵的第一步。一旦我們知道我們希望模型預測到什麼,就可以繼續使用可用資料來開發和解決受監督的機器學習問題。

下一步發展

在接下來的三篇文章中,我們將應用預測工程、特徵工程和建模框架來解決亞洲最大的訂閱音樂流媒體服務KKBOX的客戶流失問題。

查詢以下帖子(或檢視GitHub儲存庫):

https://github.com/Featuretools/predicting-customer-churn

1.預測工程:如何設定機器學習問題

https://medium.com/@williamkoehrsen/prediction-engineering-how-to-set-up-your-machine-learning-problem-b3b8f622683b

2.特徵工程:為機器學習提供動力(即將推出)

3.建模:訓練演算法進行預測(即將推出)

我們將看到如何使用現有的資料科學工具填充細節,以及如何在不重寫整個管道的情況下更改預測問題。最後,我們將有一個有效的模型來預測流失,並調整以滿足業務需求。

如何利用機器學習創造價值?

可根據業務需求進行調整的模型的精確回憶曲線

通過這些文章,我們將看到一種機器學習方法,可以讓我們快速構建多個預測問題的解決方案。下次你的老闆再次要求更改問題引數時,你就可以啟動並執行新的解決方案,只需對程式碼進行更改即可。


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

相關文章