來源 | 數(shù)據(jù)派THU
作者 | Francesca Lazzeri
翻譯 | 王琦
責(zé)編 | Carol
去年11月,我寫了一篇關(guān)于使用自動機器學(xué)習(xí)來進行AI民主化(democratization)的文章(見下面鏈接)。
在今天這篇文章中,我將會向你展示 自動機器學(xué)習(xí)的用例(發(fā)布在Github上了,見下面鏈接)。本文介紹了在零售商工作的數(shù)據(jù)科學(xué)家、項目經(jīng)理和業(yè)務(wù)主管利用自動機器學(xué)習(xí)和Azure機器學(xué)習(xí)服務(wù)來減少產(chǎn)品庫存過剩的具體過程。
附鏈接:
https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/forecasting-orange-juice-sales/auto-ml-forecasting-orange-juice-sales.ipynb?WT.mc_id=azuremedium-blog-lazzeri
此外,本文還介紹了數(shù)據(jù)科學(xué)家、項目經(jīng)理和業(yè)務(wù)主管各自如何使用自動機器學(xué)習(xí)來改進團隊合作和學(xué)習(xí),并促進數(shù)據(jù)科學(xué)新方案的成功實現(xiàn)。
在這個用例中(該用例對公眾開放,發(fā)布在GitHub上),我們將會看到在零售商工作的數(shù)據(jù)科學(xué)家、項目經(jīng)理和業(yè)務(wù)主管如何利用自動機器學(xué)習(xí)和Azure機器學(xué)習(xí)服務(wù)來減少商品的庫存過剩。 Azure機器學(xué)習(xí)服務(wù)是一個你可以用來訓(xùn)練、部署、自動化和管理機器學(xué)習(xí)模型的云服務(wù),所有這些都可以在云提供的范圍內(nèi)進行。Azure機器學(xué)習(xí)服務(wù)中的自動機器學(xué)習(xí)是獲取已定義目標(biāo)特征的訓(xùn)練數(shù)據(jù),并通過算法組合和特征選擇進行迭代,從而基于訓(xùn)練分數(shù)來為你的數(shù)據(jù)自動選擇最好模型的過程。
多余的庫存很快就變成了一個流動性問題,除非我們通過折扣和促銷來減少利潤,否則它就不能轉(zhuǎn)換成現(xiàn)金。或者更糟糕的是,當(dāng)其累計到一定程度被送到其他渠道比如經(jīng)銷店,這會延遲其銷售。提前確定哪些產(chǎn)品不會達到他們期望的周轉(zhuǎn)水平,并通過與銷售預(yù)測相符的庫存補給來控制補貨,這是幫助零售商實現(xiàn)投資回報率(ROI)的關(guān)鍵因素。 讓我們看看團隊如何著手解決這個問題以及自動機器學(xué)習(xí)如何使整個公司的AI民主化。
為公司確定正確的業(yè)務(wù)目標(biāo)
正確的產(chǎn)品組合和庫存水平可以取得豐厚的銷售額和利潤。要實現(xiàn)這一理想組合,就需要擁有最近的、準確的庫存信息。手動處理不僅花費時間,導(dǎo)致當(dāng)前的、準確的庫存信息的延遲,而且增加了出錯的可能性。這些延遲和錯誤很可能會由于庫存過剩、庫存不足和缺貨而導(dǎo)致收入損失。
庫存過剩也可能占用寶貴的倉庫空間,并占用本應(yīng)用于購買新庫存的現(xiàn)金。但以清算模式出售過剩的庫存可能會引起一系列問題,例如損害聲譽和沖擊其他現(xiàn)有同類產(chǎn)品的銷售。
作為數(shù)據(jù)科學(xué)家與業(yè)務(wù)運營之間橋梁的項目經(jīng)理,與業(yè)務(wù)主管聯(lián)系,討論使用其內(nèi)部的、以往的銷售額中的一部分來解決其庫存過剩問題的可能性。 項目經(jīng)理和業(yè)務(wù)主管通過詢問和完善與業(yè)務(wù)目標(biāo)相關(guān)的具體問題來定義項目目標(biāo)。
此階段主要有兩個任務(wù):
定義目標(biāo):項目經(jīng)理和業(yè)務(wù)主管需要識別業(yè)務(wù)問題,最重要的是,提出問題以定義數(shù)據(jù)科學(xué)技術(shù)可以針對的業(yè)務(wù)目標(biāo);
識別數(shù)據(jù)源:項目經(jīng)理和數(shù)據(jù)科學(xué)家需要找到相關(guān)數(shù)據(jù)來幫助回答定義項目目標(biāo)的問題。
尋找正確的數(shù)據(jù)和流水線
這一切都要從找數(shù)據(jù)開始。項目經(jīng)理和數(shù)據(jù)科學(xué)家需要識別包含業(yè)務(wù)問題答案的已知示例的數(shù)據(jù)源。 他們尋找以下類型的數(shù)據(jù):
與問題相關(guān)的數(shù)據(jù)。他們是否有針對目標(biāo)的指標(biāo)以及與目標(biāo)相關(guān)的特征?
可以準確衡量其模型目標(biāo)和感興趣特征的數(shù)據(jù)。
在此階段,數(shù)據(jù)科學(xué)家需要解決三個主要的任務(wù):
將數(shù)據(jù)應(yīng)用到目標(biāo)的分析環(huán)境中;
探索數(shù)據(jù)以確定數(shù)據(jù)質(zhì)量是否足以回答問題;
建立數(shù)據(jù)流水線以對新數(shù)據(jù)或定期刷新的數(shù)據(jù)進行評分。
在將數(shù)據(jù)從源位置移動到可以運行分析操作的目標(biāo)位置之后,數(shù)據(jù)科學(xué)家開始處理原始數(shù)據(jù)來產(chǎn)生干凈的、高質(zhì)量的數(shù)據(jù)集,該數(shù)據(jù)集與目標(biāo)變量的關(guān)系是被充分理解的。在訓(xùn)練機器學(xué)習(xí)模型之前,數(shù)據(jù)科學(xué)家需要對數(shù)據(jù)有充分的了解,通過創(chuàng)建數(shù)據(jù)摘要和可視化來審核數(shù)據(jù)的質(zhì)量,并在準備好建模之前提供處理數(shù)據(jù)所需的信息。
最后,數(shù)據(jù)科學(xué)家還負責(zé)開發(fā)數(shù)據(jù)流水線解決方案的架構(gòu),該架構(gòu)會定期對數(shù)據(jù)進行刷新和評分。
通過自動機器學(xué)習(xí)預(yù)測橙汁的銷售
數(shù)據(jù)科學(xué)家和項目經(jīng)理決定使用自動機器學(xué)習(xí)有以下幾個原因:自動機器學(xué)習(xí)讓有或沒有數(shù)據(jù)科學(xué)專業(yè)知識的客戶都能針對任何問題來確定端到端機器學(xué)習(xí)的流水線,從而在花費更少時間的同時來取得更高的準確性。 而且,它還可以運行大量實驗,從而加快了面向生產(chǎn)就緒型的智能經(jīng)驗的迭代。
讓我們看看使用自動機器學(xué)習(xí)進行橙汁銷售預(yù)測的過程如何實現(xiàn)這些好處。
在對業(yè)務(wù)目標(biāo)以及應(yīng)使用哪種類型的內(nèi)部的以往數(shù)據(jù)來達成目標(biāo)達成一致后,數(shù)據(jù)科學(xué)家將創(chuàng)建一個工作區(qū)。該工作區(qū)是該服務(wù)的頂級資源,為數(shù)據(jù)科學(xué)家提供了一個集中的地方來處理他們需要創(chuàng)建的所有工件。在Azure機器學(xué)習(xí)服務(wù)中創(chuàng)建工作區(qū)時,會自動添加以下Azure資源(如果它們在區(qū)域中可用):
Azure容器注冊表
Azure存儲
Azure應(yīng)用程序洞見
Azure密鑰保管庫
要運行自動機器學(xué)習(xí),數(shù)據(jù)科學(xué)家還需要做一個實驗。實驗是工作區(qū)中的一個命名對象,它代表一個預(yù)測性任務(wù),該任務(wù)的輸出是經(jīng)過訓(xùn)練的模型和該模型的一組評估指標(biāo)。
數(shù)據(jù)科學(xué)家現(xiàn)在已經(jīng)準備好加載以往的橙汁銷售數(shù)據(jù),并將CSV文件加載到簡單的pandas 中的DataFrame類型中。CSV中的時間列稱為WeekStarting ,因此它會被專門地解析為日期時間類型。
DataFrame中的每一行表示某個商店中某個橙汁品牌的每周銷售量。數(shù)據(jù)還包括銷售價格、用來顯示橙汁品牌每周是否在商店中做廣告的標(biāo)記以及基于商店位置的一些客戶人口統(tǒng)計信息。由于歷史原因,該數(shù)據(jù)還包括銷售數(shù)量的對數(shù)。
我們目前的任務(wù)是為“數(shù)量”列構(gòu)建時間序列模型。重要的是我們要注意到該數(shù)據(jù)集由許多單獨的時間序列組成;每個時間序列都是針對商店和品牌的唯一組合。 為了區(qū)分各個時間序列,我們定義了grain,grain是其值能夠確定時間序列之間邊界的列。
為了以后的預(yù)測效果評估,我們將數(shù)據(jù)分為訓(xùn)練集和測試集。在這之后,數(shù)據(jù)科學(xué)家開始建模來執(zhí)行預(yù)測任務(wù),并且自動機器學(xué)習(xí)使用針對時間序列的預(yù)處理和估計步驟。 自動機器學(xué)習(xí)將執(zhí)行以下預(yù)處理步驟:
檢測時間序列樣本的頻率(例如每小時、每天、每周),并為不存在的時間點創(chuàng)建新記錄來讓序列變得有規(guī)律。 有規(guī)律的時間序列具有定義明確的頻率,并且在連續(xù)的時間間隔中的每個采樣點都有一個值;
通過正向填充(forward-fill)和特征列的列中位數(shù)來估算目標(biāo)中的缺失值;
創(chuàng)建基于grain的特征來實現(xiàn)不同序列之間的固定效應(yīng);
創(chuàng)建基于時間的特征來協(xié)助季節(jié)性模式的學(xué)習(xí);
將分類變量編碼為數(shù)字量。
對于一個自動機器學(xué)習(xí)訓(xùn)練任務(wù),AutoMLConfig對象定義了設(shè)置和數(shù)據(jù)。以下是用于訓(xùn)練橙汁銷售預(yù)測模型的自動機器學(xué)習(xí)配置參數(shù)的概要:
訪問GitHub以獲取有關(guān)預(yù)測的更多信息(見下面鏈接)。每次迭代都在實驗中運行,并存儲來自自動機器學(xué)習(xí)迭代的序列化的流水線,直到它們找到在驗證集上表現(xiàn)最佳的流水線為止。
附鏈接:
https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/forecasting-orange-juice-sales/auto-ml-forecasting-orange-juice-sales.ipynb?WT.mc_id=azuremedium-blog-lazzeri
評估完成后,數(shù)據(jù)科學(xué)家、項目經(jīng)理和業(yè)務(wù)主管再次會面以檢查預(yù)測結(jié)果。項目經(jīng)理和業(yè)務(wù)主管的工作是了解輸出并根據(jù)這些結(jié)果選擇實際步驟。 業(yè)務(wù)主管需要確認最佳模型和流水線以滿足業(yè)務(wù)目標(biāo)。此外,機器學(xué)習(xí)解決方案以可接受的準確性回答了把系統(tǒng)部署到生產(chǎn)中的各種問題,以供內(nèi)部銷售的預(yù)測應(yīng)用程序使用。
微軟在自動機器學(xué)習(xí)上的投資
自動機器學(xué)習(xí)基于Microsoft Research部門的一項突破。該方法結(jié)合了協(xié)同過濾和貝葉斯優(yōu)化的思想,可以智能、高效地搜索可能的機器學(xué)習(xí)流水線的巨大空間。
現(xiàn)在,它作為Azure機器學(xué)習(xí)服務(wù)的一部分提供給你。正如你在此處所看到的,無論有無數(shù)據(jù)科學(xué)專業(yè)知識,自動機器學(xué)習(xí)都可以使客戶確定端到端機器學(xué)習(xí)流水線,以解決任何問題,并在提高準確性的同時節(jié)省時間。它還可以運行大量實驗并加快迭代速度。自動機器學(xué)習(xí)如何使你的組織受益?你的團隊如何使用機器學(xué)習(xí)來更緊密地合作從而達到業(yè)務(wù)目標(biāo)?
作者簡介:
Francesca Lazzeri是一位機器學(xué)習(xí)科學(xué)家、作家和演講者。 她領(lǐng)導(dǎo)著一支由微軟的云倡導(dǎo)者、數(shù)據(jù)科學(xué)家和開發(fā)人員組成的國際團隊。 加入微軟之前,她是哈佛大學(xué)技術(shù)與運營管理部門的研究員。 她還是微軟“Women@NERD”協(xié)會的董事會成員、麻省理工學(xué)院和哥倫比亞大學(xué)的數(shù)據(jù)科學(xué)導(dǎo)師以及AI社區(qū)的活躍成員。
電子發(fā)燒友App




















評論