- 數據準備和特征工程:數據工程師必知必會技能
- 齊偉
- 1728字
- 2020-06-05 17:00:52
1.0 了解數據科學項目
什么是數據科學?業界對此定義多有不同,在此引用“維基百科”網站的“數據科學”詞條部分內容:
“維基百科”中內容豐富,推薦讀者參考。
“數據科學是一門利用數據學習知識的科學,其目標是通過從數據中提取有價值的部分來生產數據產品。它結合了諸多領域中的理論和技術,包括應用數學、統計、模式識別、機器學習、數據可視化、數據倉庫等。”
根據這個定義,“數據科學項目”就應該是“生產數據產品”的工程實踐,本書內容就是這個工程實踐的一部分。
工程,常被認為“工人”按照“操作手冊”執行既定操作。的確有的工程如此,那么數據科學的工程是否也有一份“操作手冊”呢?本書作者總結的數據科學項目基本過程如圖1-0-1所示。
在解釋圖1-0-1之前,先要建立如下認識——這些認識都來自實踐中的經驗教訓:

圖1-0-1 本書作者總結的數據科學項目過程
●對于任何一個實踐中的項目,不要寄希望于“操作手冊”,更不要迷信著名專家的“名人名言”。
●不存在“一招鮮吃遍天”,普遍真理是“具體問題具體分析”。
貌似上述認識否定了數據科學項目中的規律。非也!
數據科學項目在實踐上沒有固定的“操作手冊”,但還是要遵循一定章法。這就類似于個人成長發展,每個人的秉性、才智不同,成才道路各有特色,但所有人都遵循著靈長目—人科—人屬—智人種生物的普遍生長發育規律。
對于圖1-0-1,不同的研究者會有不同的見解,本書作者也僅是根據個人經驗給予簡述。
1.理解商業問題
這是數據科學項目的開始,參與者必須對相應的業務有所了解,并將業務中用描述性語言表述的問題轉為“數據問題”——能夠通過某些數據回答的問題。
理解商業問題不同于理解項目需求,前者更強調對項目本質問題的把握。
2.數據收集
“數據收集”與“理解商業問題”兩者是互動關系。研究收集數據的方法,也是對商業問題的再度理解。例如,一個能夠對學生學習過程進行評價和指導的系統所需要收集的數據包括但不限于學生寫在作業本上的數據、學校服務器上的學籍數據、公安系統中學生的家庭和社區相關數據等。隨著對此問題的深入研究,需要收集的數據還可能根據需求而變化。
運用技術從數據來源獲得的數據通常稱為“原始數據”。本章在后續各節中將介紹幾種常見的數據收集方法。此外,因為數據源和技術的不同,所得到的原始數據格式、質量也會有很大差異,還可能存在重復、矛盾等。因此,必須處理這些數據。與此相關的技術構成了本書的主體內容。
3.特征工程
特征工程是一個比較廣泛的概念,它的起點是得到原始數據之后,終點是進行機器學習或數據分析之前。在這個過程中對數據集所做的操作統稱為“特征工程”——這是本書的界定,業界對“特征工程”有多種定義或說明。具體來講,本書所界定的特征工程包括“數據清理”“特征變換”“特征選擇”和“特征抽取”,是后續各章節內容。
4.數據生產
如果說第2、3步得到的是數據“原料”,本步就是用原料進行“生產”的過程,也就是前面關于“數據科學”的定義中提及的“從數據中提取有價值的部分來生產數據產品”的過程,可以比喻為“生產車間”。圖1-0-1中的“數據分析”和“機器學習”只不過是目前常用的兩條“生產線”。
機器學習是人工智能的基礎和重要組成部分。本書所闡述的大多數技術是為機器學習算法而準備的。
5.評估
不論是機器學習,還是數據分析,其結果都要進行評估。根據評估結果,確定是否采用機器學習所獲得的模型或數據分析的報告。
在機器學習中,有專門評估模型的算法。
6.部署和應用
作為商業項目,最終都要把產品部署到商業系統中,比如可能作為某個網站系統的一部分。這樣才能讓研究出來的算法(模型)處理新的數據,并滿足商業需求。
在實際項目中,圖1-0-1中的各環節不是截然分開、彼此互不相關的,也不是機械地按照單一方向進行的。
●本書闡述的“數據準備和特征工程”,不只是在“數據收集”和“特征工程”環節實施,還可能貫穿整個項目過程。
●各環節之間不僅前后銜接,而且還可能循環往復。例如,在進行“數據收集”時有可能要再次“理解商業問題”,才能確定所收集的數據內容,甚至決定項目是否具有可行性;經“評估”后發現模型不能解決實際問題,有可能要回到“數據收集”才能提升模型效果。
因此,在了解基本流程之后,再回到前面所述的認識,將兩者結合,才是數據科學項目的實施原則。