作為數據科學家,我在很多公司工作過,也遇到了很多問題和挑戰。事實上,很多人都會經歷這些挑戰,就不同情況而言,也會有多種可行的解決方案。我將談談我曾面臨的一些最常見或最困難的挑戰。
業務問題描述不當
只要有一個工作人員出錯,你就會面臨這個挑戰。數據科學專家的主要工作之一就是做業務問題描述——這也就是起初使用數據科學的原因。
實際上,多數情況下描述不是某個數據科學專家自己,而是整個團隊。團隊里通常包括利益相關者,比如產品經理。但是,團隊內可能出現技術脫節,任一方都可能對業務問題描述不當。
產品經理可能會說:“我們要提更多建議,大家才能買的更多”,而數據科學專家可能會說:“向大家推薦產品的時候,超過80%的情況下我們要有95%的把握?!?/p>
這兩種問題描述總體來講都很好,但都不夠細化,或者只是勾勒出了問題的輪廓。問題描述是要從中找出解決方案,但是本身并不是解決方案。
以下是一個更好的業務問題描述問題的例子:“顧客平均每個訂單只買一件東西”。
就是這么簡單。一開始雙方都想方設法將描述復雜化,但現在這樣更高效。雖然沒有解決方案,但人人都能看懂這種直接、通俗易懂的描述。
示例描述說明一件東西不夠,那么解決方案可能就是如何讓顧客更可能買一件以上的東西。一種數據科學解決方案就是使用機器學習推薦系統。在工作中不要好高騖遠,而要專注于眼下的實際問題,這很重要。
數據失衡
任何真正與數據打交道的人大多都會遇到數據失衡的問題。比如,遇到分類問題時使用邏輯回歸給新數據賦值0或1。目標變量預計0和1各占50%的可能。然而,結果完全出乎預料。
如果試著將一種新動物歸類為狗或者貓,就需要貓狗各1000列的訓練數據。這樣,模型才足夠辨別二者的不同之處。如果訓練數據中貓有1900只,狗只有100只,那么就可能產生誤解,認為多數新動物都是貓,這是個很常見的問題。
可能的解決方案是使用其他補強少數部分的機器學習算法,或者創建新的綜合數據。有一種技術叫不均衡學習(imbalanced-learn),可以采用下列具體方法進行過采樣:
ADASYN算法(Adaptive Synthetic,自適應綜合過采樣)
BorderlineSMOTE算法
KMeansSMOTE算法
RandomOverSampler算法
SMOTNC算法
SVMSMOTE算法(Nominal andContinuous)
這些過采樣方法都非常有效,而且能解決數據不均衡問題。還有很多方法,比如欠采樣、二者相結合、組合法、Keras和TensorFlow的批量生成器。下面是過采樣操作的示例:
畫一幅二維視圖
繪制已知數據點
選擇一個已知點
找出最鄰近點
在鄰近點與原始數據點之間畫一條線
然后隨機將大頭針丟在這些線上
這就是新合成的過采樣數據
像RandomForest之類的一些機器算法函數庫的參數要指定均衡數據也很簡單。
過擬合
構建的數據科學模型將訓練數據解析的太透徹就會出現過擬合問題。模型接收了訓練數據中的詳細信息,也包括數據中的噪音,所以過于具體,而這在預測新的真實數據時是無用的,結果模型就無法做出正確推斷和歸納。模型的目的是處理好未見過的數據,所以要想辦法找到能處理好新數據的解決辦法并付諸使用。
交叉驗證
移除重復或相似特點
及早停止
正則化
集成法
非參數機器學習算法
使用更多數據訓練
特征不足
制定業務問題描述之后,通常還需要開始尋找數據,然后形成自己的特點,輸入到數據科學模型中作為訓練數據。對公司數據表了解的越多,就會發現還可以以其它縱列為新特征。不過,一開始特征有限的問題還有另一種解決辦法。
構建當前度量的統計數據。例如,一般具有“每位用戶點擊量”特征,就會停止。但也可以從如下某一縱列中創建新的度量:
每位用戶的平均點擊量
每位用戶的眾數點擊量
每位用戶75%百分位數點擊量
還有很多不同方式來描述該特征的范圍。
版本控制
數據科學家非常習慣獨自工作,喜歡對同一個重點項目創建20個不同版本的Jupyter Notebook。我們約定好了命名,但第二天就忘記了。然后,一切變得一團糟。但其實還有更好的方式——那就是Git和GitHub。
Git
GitHub
如果數量較少的話,還有其它自制辦法,比如用特殊數字方法(例:Notebook1,Notebook2)創建新版本。
這些工具可以通過創建區別于主干/代碼庫的獨立分支,幫你形成自己的代碼變化。然后就可以創建一個拉取請求來比較代碼變化,在獲得他人認可后并入原件。如此一來,你就不僅是在創建代碼評審,而且還允許大家注意到并更加了解你的特定代碼。
如你所見,數據科學家會面臨很多挑戰,我所談到的只是冰山一角。但這些問題是我經歷最多的,我認為應該重點討論的。希望我的方法能幫你順利解決這些問題。
責編AJX
-
數據
+關注
關注
8文章
7249瀏覽量
91364 -
算法
+關注
關注
23文章
4702瀏覽量
94968 -
數據科學
+關注
關注
0文章
168瀏覽量
10429
發布評論請先 登錄
評論