面向機器學習的特徵工程一、引言

apachecn_飛龍發表於2018-06-21

來源:ApacheCN《面向機器學習的特徵工程》翻譯專案

譯者:@ZhipengYe

校對:(虛位以待)

機器學習將資料擬合到數學模型中來獲得結論或者做出預測。這些模型吸納特徵作為輸入。特徵就是原始資料某方面的數學表現。在機器學習流水線中特徵位於資料和模型之間。特徵工程是一項從資料中提取特徵,然後轉換成適合機器學習模型的格式的藝術。這是機器學習流水線關鍵的一步,因為正確的特徵可以減輕建模的難度,並因此使流水線能輸出更高質量的結果。從業者們認為構建機器學習流水線的絕大多數時間都花在特徵工程和資料清洗上。然後,儘管它很重要,這個話題卻很少單獨討論。也許是因為正確的特徵只能在模型和資料的背景中定義。由於資料和模型如此多樣化,所以很難概括專案中特徵工程的實踐。

儘管如此,特徵工程不僅僅是一種臨時實踐。工作中有更深層的原則,最好就地進行說明。本書的每一章都針對一個資料問題:如何表示文字資料或影像資料,如何降低自動生成的特徵的維度,何時以及如何規範化等等。把它看作是一個相互聯絡的短篇小說集,而不是一本長篇小說。每章都提供了大量現有特徵工程技術的插圖。它們一起闡明瞭總體原則。

掌握主題不僅僅是瞭解定義並能夠推匯出公式。僅僅知道這個機制是如何工作的以及它可以做什麼是不夠的。它還必須包括理解為什麼要這樣設計,它如何與其他技術相關聯,以及每種方法的優缺點是什麼。掌握就是要準確地知道如何完成某件事,對底層原則有一個感覺,並將其整合到我們已知的知識網路中。一個人通過讀一本相關的書並不會成為某個東西的主人,儘管一本好書可以開啟新的門。它必須涉及實踐——將想法用於實踐,這是一個反覆的過程。隨著每一次迭代,我們都會更好地瞭解這些想法,並在應用這些想法時變得越來越嫻熟和富有創造性。本書的目標是促進其思想的應用。

本書首先嚐試傳授感覺,其次是數學。我們不是隻討論如何完成某些事情,而是試圖引導發現原因。我們的目標是提供觀點背後的感覺,以便讀者瞭解如何以及何時應用它們。對於以不同方式學習的人們來說,有大量的描述和圖片。提出數學公式是為了使感覺更加精確,並且還可以將本書與其他現有的知識結合起來。

本書中的程式碼示例在 Python 中給出,使用各種免費和開源軟體包。NumPy 庫提供數字向量和矩陣操作。Pandas 是一個強大的資料框架,是 Python 中資料科學的基石。Scikit-learn 是一個通用機器學習軟體包,涵蓋了廣泛的模型和特徵變換器。Matplotlib 和 Seaborn 的樣式庫提供了繪圖和視覺化。你可以在我們的 github 倉庫中找到這些例子作為 Jupyter notebooks。

前幾章開始較緩慢,為剛剛開始使用資料科學和機器學習的人們提供了一個橋樑。第 1 章從數字資料的基本特徵工程開始:過濾,合併,縮放,日誌轉換和能量轉換以及互動功能。第 2 章和第 3 章深入探討了自然文字的特徵工程:bag-of-words,n-gram 和短語檢測。第 4 章將 tf-idf 作為特徵縮放的例子,並討論它的工作原理。圍繞第 5 章討論分類變數的高效編碼技術,包括特徵雜湊和 bin-counting,步伐開始加速。當我們在第 6 章中進行主成分分析時,我們深入機器學習的領域。第 7 章將 k-means 看作一種特徵化技術,它說明了模型堆疊的有效理論。第 8 章都是關於影像的,在特徵提取方面比文字資料更具挑戰性。在得出深度學習是最新影像特徵提取技術的解釋之前,我們著眼於兩種手動特徵提取技術 SIFT 和 HOG。我們在第 9 章中完成了一個端到端示例中的幾種不同技術,為學術論文資料集建立了一個推薦器。

閱讀全文


相關文章