每日最新頭條.有趣資訊

傑出數據科學家的關鍵技能是什麽?

本文為 AI 研習社編譯的技術部落格,原標題 :

What is the key skill that the best data scientists have?

作者 |André Sionek

翻譯 | kylechenoO、Ophria

校對 | 醬番梨 整理 | 菠蘿妹

https://towardsdatascience.com/what-is-the-key-skill-that-the-best-data-scientists-have-655edea228ac

學習如何應用不同的Python或R算法真的很簡單:眾所周知, 我們只需要修改一兩行代碼,就能將線性回歸遷移到神經網絡、SVM,或者你喜歡的其他模型。

定義超參數也不是那麽困難:只需為這些參數創建一個交叉驗證和網格搜索,以提高模型精度。部署一個模型可能會更為複雜,需要有一點點耐心和堅持、大量的教程和不斷嘗試與試錯,您就可以上傳一個每分鐘可以處理數百萬個請求的模型(或者您可以使用諸如marvin這樣的工具,它將替你做大量的工作)。但究竟是什麽讓你突顯出你的優勢呢?最優秀的數據科學家需要掌握的關鍵技能又是什麽?

簡而言之:關鍵在於知道如何根據數據創建分析視圖。

交易數據庫-那些存儲交易數據的數據庫,如訂單、付款、訪問日誌等-是為存儲應用程式交易數據而定製的,對數據科學沒有直接幫助。構建這些數據庫的開發人員卻不這麽認為,也許不應該考慮如何使用這些數據進行分析。他們只是簡單地創建了數據模型,以提高應用程式的性能。

嘗試創建基於事務的機器學習模型是行不通的,除非你希望對某一項事務進行預測。數據科學家工作時通常需要基於數據分析。那麽,究竟應該如何基於數據分析呢?它又如何區別於基於事務?

分析數據庫究竟是什麽?

分析數據庫是為了某項特定的研究而設計的。基於客戶流失的預測與基於購物車中的產品推薦不同。然而,兩者的數據源可能是相同的:事務性數據庫。客戶流失預測必須對每個客戶的行為數據進行分組,因此可以隨著時間的推移觀察客戶的行為。至於產品推薦,數據必須按會話分組,以預測哪些項目與購物車關聯。

能夠創建分析數據庫比精通多種算法更重要。

了解如何創建分析基礎是數據科學家需要培養的最重要技能之一。同時,它也是課程、MOOC和教程中教得較少的課程之一。為了將事務性數據轉換為可以分析的數據,必須真正了解你正在處理的業務。這一點,加上批判性思維,是正確界定問題的基礎。

創建目標與分析數據一致性並不容易:它需要一個長期的調研過程,這往往會讓您的經理失望。

數據科學家經常需要target來訓練他/她的模型。如果看一看Kaggle,你會發現無數的比賽和數據集,其中的target已經定義,並可以在培訓和評估中直接使用。但是,事務性數據庫通常沒有準備好的target。數據科學家必須明確客戶何時需要放棄服務, 以便創建客戶流失模型。並且需要定義什麽是不良付款行為,即使難以預測到。創建目標和分析數據一致性並不是那麽容易:它需要一個長期的調查過程,這通常會讓您的經理失望(直到現在,他們都相信自己擁有所有的數據,他們所需要的只是一個數據科學家)。

事實上,數據科學遠大於將數據輸入模型並評估性能指標的即插即用過程。

數據探索

設想一種情況,在這種情況下,您有一個數據庫,幾個銷售分析師根據行為概況對銷售線索進行分類。為了對客戶進行分類,分析師必須在談判過程中判斷銷售線索的行為,然後為客戶選擇一個適當的描述並填寫一張表格。我們這裡有一些潛在的問題:

在同一談判過程中,分析師對潛在客戶的判斷不一定與其他分析師的判斷相同。不同的分析師可以對同一個潛在客戶可能會進行不同的分類。

分析師真的了解每個行為特徵代表什麽嗎?是否有明確的標準來將潛在客戶分類為“描述X”而不是“描述Y”?

在收集期間,流程是否發生變化,如插入新的行為類別/描述?如果是這樣的話,那麽在定義目標時,你必須決定如何考慮它們。

如何收集數據?在與潛在客戶的每次新接觸中,行為模式是否都會改變,以便分析師真正選擇最佳的模式?

管理者是否要求準確地對其分類?如果要求分析師回答的只是一個“無聊”的過程,那麽很有可能有些分類是“因為他們必須”填寫的。當行為模式總是以相同的順序呈現給分析師時,這個問題變得更加明顯:目標可能偏向於第一個選項。

在這個過程之後,您可能會得出這樣的結論:到目前為止收集的數據是完全無用的,因為沒有標準和過程。這肯定會讓很多人失望(甚至你也可能會失望)。

為信用違約預測創建分析數據庫(行為評分)

為了使創建分析數據庫的過程更清晰,讓我們看看正確定義問題和創建用於執行預測的分析數據庫所需的一組過程的示例。

創建一個預測客戶信用違約的模型涉及一系列業務和技術決策,這些決策必須由數據科學家做出。

假設你與金融服務部門合作,並且面臨以下問題:

我們需要創建一個模型來識別哪些客戶在不久的將來不會支付他們的發票。

為此,你需要創建描述客戶付款的變量。然後有必要創建一個回歸模型,能夠區分好的和壞的付款人。最後,你需要計算客戶好壞的概率。

1.定義目標是什麽

在數據庫中的任何地方都找不到一個類別變量,它指示某個客戶是好的還是壞的付款人。首先,有必要定義什麽是好客戶或壞客戶。為此,我們可以研究逾期付款。例如,你可能會發現平均延遲為20天,但75%的發票在到期日後17天內支付。

你可以通過逾期天數內的付款來設計累積分布。因此,你將能夠核實,30天后,87%的發票已經支付。但6個月後,這個百分比將上升到90%。然後,我們可以使用貝葉斯推理來預測客戶在逾期30天后支付發票的概率。

我們可以得出的結論是,如果客戶的付款已經延遲了30天,那麽他/她將來償還債務的可能性非常低(只有23%)。要決定什麽是好的或壞的付款行為,需要對業務有深入的了解,因為你需要了解這種可能性是否足夠低,以便將延遲30天以內的客戶分類為好的付款方,而那些超過30天的客戶則是壞的付款方。

2.創建觀察和性能框架

我們感興趣的是,利用過去一段時間內客戶行為的數據,預測未來一段時間內客戶違約的可能性。選擇這些框架的大小是一個比統計更重要的業務/談判決策,請記住,它們必須足夠大,能夠包含多個客戶的行為觀察結果。視窗太短會增加觀察結果的方差,因此模型會失去精度。

定義:

根據客戶過去12個月的行為,我想預測他/她在未來6個月內成為一個好付款人的可能性。

為了實現這一定義,你需要:

定義至少比當前日期早6個月的觀察點。

定義一個觀察框架,該框架在觀察點之前12個月開始並在其中結束。

定義一個性能框架,該框架在觀察點之後擴展6個月。

定義一個好的付款人是什麽。我們剛才做的!

在創建分析數據庫的過程中,時間框架問題是一個非常重要的步驟。

注意,這個定義帶來了一些含義:

你需要至少18個月的數據

你的預測必然會有一個時間框架。每次運行模型時,它都會計算出未來6個月內的默認概率。

在分析數據庫中創建特徵時,觀察點和時間範圍的大小始終是您的參考。

3.創建目標功能

既然我們已經定義了什麽是我們的目標,什麽是觀察和性能框架,我們就可以最終在數據庫上創建目標了。為此,您將計算績效時間範圍內每個客戶的最大逾期天數,並根據以下規則創建一個好的付款方變量:

if max(delay) >= 30 days then is bad = 0 If max(delay)re>

因此,如果在履行期限內,客戶的付款延遲超過30天,即使發票延遲付款,他/她也將被歸類為不良。

我們輸入0代表壞,1代表好,因為我們要定義分數越高,默認概率越低。

4.除外條款

現在我們需要對業務結構有廣泛的了解,所以我們可以從我們的基地執行一些排除。實例:

排除觀察點沒有信用額度的所有客戶

排除在觀察點發票過期超過30天的所有客戶,因為我們已經知道他們是壞人

排除所有從未進行過交易的客戶

5.特色結構

對於本研究,必須按客戶對基礎進行分組。每個變量必須描述觀察時間框架內客戶的特定行為。以下是一些可處理變量的示例:

創建的分析數據庫示例,用於提供預測客戶違約的行為評分模型。

狀態:個人資訊功能-表示客戶居住的省/州

年齡:個人資訊功能-表示在觀察點計算的客戶年齡

性別:個人資訊功能-表示客戶的性別

MOB:客戶簽到到觀察點後的月數

平均限額:觀察12個月內限額使用的平均百分比

最大限值:觀察12個月內最大限值使用百分比

採購總額:觀察12個月內的採購總額

dpd_op:觀察點過期天數

max_dpd:觀察12個月內到期的最長天數。如果所有發票都提前支付,則可能為負數。

平均每日住院天數:觀察12個月內到期的平均天數。如果所有發票都提前支付,則可能為負數。

到期前數量:觀察12個月內到期前支付的發票數量。

好的付款人:target-表示客戶在績效視窗的6個月內,發票是否延遲超過30天。

6.表現的時間到了!

現在我們終於要討論建立一個模型了!你現在可以應用你在數據科學課程中學到的所有知識。您的分析基礎已經設計好,可以開始在這種情況下數據處理和應用模型的行動。

最簡單的解決方案是使用上面創建的變量應用邏輯回歸,以預測好的付款人目標。模型將為每個客戶返回0和1之間的值,表明他/她是一個好付款人的概率。

務必正確解釋結果:

分數將表明某個客戶在未來6個月內不會延遲付款超過30天的可能性。

你喜歡嗎?

這篇文章對你有用嗎?分享!我說了什麽蠢話嗎?糾正我!想添加一些內容嗎?請留言!

獲得更多的PTT最新消息
按讚加入粉絲團