機(jī)器學(xué)習(xí)算法從數(shù)據(jù)中學(xué)習(xí)。您需要為要解決的問題提供正確的數(shù)據(jù)至關(guān)重要。即使您擁有良好的數(shù)據(jù),也需要確保它具有有用的規(guī)模,格式,甚至包含有意義的功能。
在這篇文章中,您將學(xué)習(xí)如何為機(jī)器學(xué)習(xí)算法準(zhǔn)備數(shù)據(jù)。這是一個(gè)很大的主題,您將涵蓋必需品。

很多數(shù)據(jù)
照片歸功于cibomahto,保留了一些權(quán)利
數(shù)據(jù)準(zhǔn)備過程
您處理數(shù)據(jù)的紀(jì)律越嚴(yán)格,您可能會(huì)獲得更一致和更好的結(jié)果。為機(jī)器學(xué)習(xí)算法準(zhǔn)備數(shù)據(jù)的過程可以分為三個(gè)步驟:
- 第1步:選擇數(shù)據(jù)
- 第2步:預(yù)處理數(shù)據(jù)
- 第3步:轉(zhuǎn)換數(shù)據(jù)
您可以以線性方式遵循此過程,但很可能是使用多個(gè)循環(huán)進(jìn)行迭代。
第1步:選擇數(shù)據(jù)
此步驟涉及選擇要使用的所有可用數(shù)據(jù)的子集??偸菑?qiáng)烈希望包含所有可用的數(shù)據(jù),“更多更好”的格言將成立。這可能是也可能不是。
您需要考慮實(shí)際需要哪些數(shù)據(jù)來解決您正在處理的問題。對(duì)您需要的數(shù)據(jù)做一些假設(shè),并小心記錄這些假設(shè),以便您可以在以后需要時(shí)進(jìn)行測(cè)試。
以下是一些有助于您思考此過程的問題:
- 您可獲得的數(shù)據(jù)范圍是多少?例如,通過時(shí)間,數(shù)據(jù)庫(kù)表,連接系統(tǒng)。確保您清楚地了解可以使用的所有內(nèi)容。
- 您希望哪些數(shù)據(jù)不可用?例如,未記錄或無法記錄的數(shù)據(jù)。您可以導(dǎo)出或模擬此數(shù)據(jù)。
- 您需要哪些數(shù)據(jù)才能解決問題?排除數(shù)據(jù)幾乎總是比包含數(shù)據(jù)更容易。記下您排除的數(shù)據(jù)以及原因。
它只是在小問題中,比如已經(jīng)為您選擇了數(shù)據(jù)的競(jìng)賽或玩具數(shù)據(jù)集。
第2步:預(yù)處理數(shù)據(jù)
選擇數(shù)據(jù)后,您需要考慮如何使用數(shù)據(jù)。此預(yù)處理步驟是將所選數(shù)據(jù)轉(zhuǎn)換為可以使用的表單。
三個(gè)常見的數(shù)據(jù)預(yù)處理步驟是格式化,清理和采樣:
- 格式化:您選擇的數(shù)據(jù)可能不是適合您使用的格式。數(shù)據(jù)可能位于關(guān)系數(shù)據(jù)庫(kù)中,您希望它位于平面文件中,或者數(shù)據(jù)可能采用專有文件格式,您希望它位于關(guān)系數(shù)據(jù)庫(kù)或文本文件中。
- 清潔:清潔數(shù)據(jù)是刪除或修復(fù)丟失的數(shù)據(jù)。可能存在不完整的數(shù)據(jù)實(shí)例,并且不包含您認(rèn)為解決問題所需的數(shù)據(jù)??赡苄枰?jiǎng)h除這些實(shí)例。此外,某些屬性中可能存在敏感信息,這些屬性可能需要完全匿名或從數(shù)據(jù)中刪除。
- 采樣:可能有比您需要使用的更多選定數(shù)據(jù)。更多數(shù)據(jù)可能導(dǎo)致算法運(yùn)行時(shí)間更長(zhǎng),計(jì)算和內(nèi)存需求更大。在考慮整個(gè)數(shù)據(jù)集之前,您可以采用所選數(shù)據(jù)的較小代表性樣本,這樣可以更快地探索和原型化解決方案。
您在數(shù)據(jù)上使用的機(jī)器學(xué)習(xí)工具很可能會(huì)影響您需要執(zhí)行的預(yù)處理。您可能會(huì)重新訪問此步驟。
如此多的數(shù)據(jù)
Photo歸功于Marc_Smith,保留了一些權(quán)利
第3步:轉(zhuǎn)換數(shù)據(jù)
最后一步是轉(zhuǎn)換過程數(shù)據(jù)。您正在使用的特定算法和問題域的知識(shí)將影響此步驟,當(dāng)您處理問題時(shí),您很可能不得不重新審視預(yù)處理數(shù)據(jù)的不同轉(zhuǎn)換。
三種常見的數(shù)據(jù)轉(zhuǎn)換是縮放,屬性分解和屬性聚合。此步驟也稱為特征工程。
- 縮放:預(yù)處理數(shù)據(jù)可能包含各種數(shù)量的混合尺度的屬性,例如美元,千克和銷售量。許多機(jī)器學(xué)習(xí)方法(如數(shù)據(jù)屬性)具有相同的比例,例如0到1之間的最小值和給定特征的最大值??紤]您可能需要執(zhí)行的任何功能擴(kuò)展。
- 分解:可能存在表示復(fù)雜概念的特征,當(dāng)分成組成部分時(shí),這些特征可能對(duì)機(jī)器學(xué)習(xí)方法更有用。一個(gè)例子是可能具有日期和時(shí)間組件的日期,而日期和時(shí)間組件又可以進(jìn)一步拆分。也許只有一天中的小時(shí)與正在解決的問題相關(guān)??紤]您可以執(zhí)行哪些功能分解。
- 聚合:可能存在可以聚合到單個(gè)功能中的功能,這些功能對(duì)于您嘗試解決的問題更有意義。例如,每次客戶登錄系統(tǒng)時(shí)可能存在數(shù)據(jù)實(shí)例,該系統(tǒng)可以聚合為登錄數(shù)的計(jì)數(shù),從而允許丟棄其他實(shí)例??紤]哪種類型的功能聚合可以執(zhí)行。
您可以花費(fèi)大量時(shí)間從數(shù)據(jù)中獲取工程特性,這對(duì)算法的性能非常有益。從小做起,以你學(xué)到的技能為基礎(chǔ)。
摘要
在這篇文章中,您了解了機(jī)器學(xué)習(xí)數(shù)據(jù)準(zhǔn)備的本質(zhì)。您在每個(gè)步驟中發(fā)現(xiàn)了數(shù)據(jù)準(zhǔn)備和策略的三步框架:
- 步驟1:數(shù)據(jù)選擇 考慮可用的數(shù)據(jù),缺少的數(shù)據(jù)以及可以刪除的數(shù)據(jù)。
- 第2步:數(shù)據(jù)預(yù)處理 通過格式化,清理和采樣來組織您選擇的數(shù)據(jù)。
- 步驟3:數(shù)據(jù)轉(zhuǎn)換 使用縮放,屬性分解和屬性聚合,通過工程特征轉(zhuǎn)換為機(jī)器學(xué)習(xí)做好準(zhǔn)備的預(yù)處理數(shù)據(jù)。
數(shù)據(jù)準(zhǔn)備是一個(gè)很大的主題,可能涉及大量的迭代,探索和分析。擅長(zhǎng)數(shù)據(jù)準(zhǔn)備將使您成為機(jī)器學(xué)習(xí)的大師。目前,在準(zhǔn)備數(shù)據(jù)時(shí)只考慮本文中提出的問題,并始終尋找更清晰的方式來表示您試圖解決的問題。
資源
如果您希望深入了解此主題,可以在以下資源中了解更多信息。
- 從數(shù)據(jù)挖掘到數(shù)據(jù)庫(kù)中的知識(shí)發(fā)現(xiàn),1996
- 使用開源工具(會(huì)員鏈接)進(jìn)行數(shù)據(jù)分析,第1部分
- 黑客機(jī)器學(xué)習(xí) (會(huì)員鏈接),第2章:數(shù)據(jù)探索
- 數(shù)據(jù)挖掘:實(shí)用機(jī)器學(xué)習(xí)工具和技術(shù) (會(huì)員鏈接),第7章:轉(zhuǎn)換:設(shè)計(jì)輸入和輸出
