在機器學習方面,人們可以采取的改進 ML 模型預測的方法是選擇正確的特征并刪除對模型性能影響微不足道的特征。因此,選擇正確的特征可能是數(shù)據(jù)科學家或機器學習工程師需要做的最重要的步驟之一,他們通常負責構(gòu)建那些能夠很好地概括測試數(shù)據(jù)集的復雜模型。
例如,考慮預測一個人是否會患心臟病的任務,可以產(chǎn)生良好影響的最強指標之一就是體重指數(shù) (BMI)。當我們試圖預測一個人可能患有的血壓 (BP) 水平時,沒有考慮這個特征并且沒有在我們的數(shù)據(jù)集中使用它,通常會導致結(jié)果不太準確。在這種情況下,BMI 可以強烈表明一個人患有這些疾病。因此,考慮這個特征很重要,因為它會對結(jié)果產(chǎn)生很大的影響。
考慮另一個預測某人是否會拖欠貸款的案例研究。在向某人提供貸款之前,所考慮的銀行會詢問一系列問題,例如工資、凈資產(chǎn)和他們的信用記錄。如果我們要讓一個人根據(jù)上述一系列因素來決定是否必須向某人提供貸款,他/她會查看總工資和他們的整體信用記錄。
同樣,當數(shù)據(jù)以與人類相同的方式提供給 ML 模型時,它會學會獲得重要的表示,以便它決定一個人是否會償還貸款。如果我們刪除諸如工資之類的特征,ML 模型將缺少關(guān)鍵信息,無法完美地解讀一個人是否會償還貸款。因此,它的預測可能會非常錯誤,因為數(shù)據(jù)中缺少最重要的特征之一(工資)。因此,這凸顯了擁有正確的特征對于我們的機器學習和深度學習模型在測試集和實時數(shù)據(jù)上表現(xiàn)良好的重要性。
現(xiàn)在我們已經(jīng)了解了確定正確特征對于確定模型預測質(zhì)量的重要性,我們現(xiàn)在將繼續(xù)尋找有助于我們的模型預測并改善其結(jié)果的各種特征化技術(shù)。
插值
這是我們在數(shù)據(jù)中填充缺失值的一種方法。我們在互聯(lián)網(wǎng)上找到了大量數(shù)據(jù)集,例如包含幾乎所有特征和標簽而沒有異常或缺失數(shù)據(jù)的玩具數(shù)據(jù)集。然而,這在現(xiàn)實生活中可能遠非如此,因為大多數(shù)現(xiàn)實世界數(shù)據(jù)都包含缺失值。因此,必須采取特定步驟來確保以某種方式填充缺失的值。
我們可以使用各種方法來執(zhí)行插值。我們可以使用特征的平均值或平均值來填充缺失值。還有其他方法,例如特征的中位數(shù)插值和眾數(shù)插值。因此,通過執(zhí)行這些方法,我們不會得到包含缺失值的數(shù)據(jù)。
如果我們要預測一個人是否會拖欠貸款,我們會將薪水作為我們機器學習模型的重要特征之一。但是,所有參與者的薪水信息可能不存在于我們的數(shù)據(jù)中。因此,最好的方法之一是分別用整個薪資特征的平均值來估算或填充這些缺失值。
縮放我們傾向于為我們的模型提供一組不同的特征,基于此,模型將確定用于預測結(jié)果或目標變量的最佳特征。但需要注意的是,我們使用的特征在我們最初收到數(shù)據(jù)時可能具有不同的尺度。
以用于確定房價的特征為例。在這種情況下,特征可能是臥室數(shù)量和利率。我們無法比較這兩個特征,因為臥室數(shù)量以單位為單位,而利率以美元 ($) 為單位。如果我們將這些數(shù)據(jù)提供給我們的 ML 模型,它只會理解美元比臥室數(shù)量特征高出很多單位。然而,正如我們上面所看到的,這遠非事實。因此,在將特征提供給模型進行預測之前,執(zhí)行特征的縮放操作非常重要。
歸一化這是我們執(zhí)行縮放操作的一種方式,在轉(zhuǎn)換數(shù)據(jù)中的其他值之前,先對所考慮的各個特征取最大值和最小值。我們確保特征的最小值為 0,最大值為 1。這將確保我們能夠使用模型產(chǎn)生最佳結(jié)果并獲得良好的預測。以客戶是否會流失(離開)或繼續(xù)使用互聯(lián)網(wǎng)服務為例,月費和使用期限等特征是一些重要特征。月費可以以美元 ($) 為單位,而使用期限可以以年或月為單位。由于它們的規(guī)模不同,因此規(guī)范化在這種情況下非常方便,并確保我們獲得最佳的模型預測。
標準化標準化在轉(zhuǎn)換特征方面與規(guī)范化類似,不同之處在于我們以這樣一種方式轉(zhuǎn)換數(shù)據(jù),即我們得到一個輸出,該輸出對于每個單獨的特征都具有單位方差和零均值。我們已經(jīng)看到,對各種特征使用不同的尺度常常會使模型感到困惑,因為模型會因為數(shù)據(jù)的尺度而假設一個特征比另一個特征更重要,執(zhí)行標準化操作有助于確保我們獲得最佳預測。因此,這是機器學習從業(yè)者在構(gòu)建最佳預測時經(jīng)常采取的一步。
在預測汽車價格時,我們會分別考慮氣缸數(shù)和里程數(shù)等特征。由于這兩個特征的尺度不同,我們必須執(zhí)行標準化,以便在給出預測模型之前,我們可以在特征之間找到共同點。
獨熱編碼想象一個場景,我們的數(shù)據(jù)中有大量分類特征。我們數(shù)據(jù)中的一些分類特征可以包括國家、州、名稱等特征。從這些特征中,我們看到,我們只生成這些實例的出現(xiàn),而沒有得到數(shù)字表示。為了使我們的 ML 模型能夠很好地工作并利用數(shù)據(jù),分類特征(如上所示)應該轉(zhuǎn)換為數(shù)字特征,以便模型執(zhí)行計算。因此,我們執(zhí)行這一步獨熱編碼,以便將分類特征轉(zhuǎn)換為數(shù)字特征。現(xiàn)在人們可能會質(zhì)疑算法實際上是如何做到這一點的。它只是將每個特征的每個類別視為單獨的列。特定類別的存在或不存在將被標記為 1 或 0。如果我們發(fā)現(xiàn)特定類別存在,反之亦然,我們將值設為 1。
響應編碼這是另一種與獨熱編碼非常相似的方法,因為它可以處理分類數(shù)據(jù)。但是,將分類特征轉(zhuǎn)換為數(shù)值特征的過程與之前的方法不同。在響應編碼中,我們最感興趣的是每個類別的目標平均值。例如,以確定房價為例。為了預測各個地區(qū)的房價,我們將對各個地區(qū)進行分組,并找出每個地區(qū)的平均房價。稍后,我們將用每個地區(qū)特定的平均房價替換地區(qū),以表示先前作為分類特征的數(shù)值。因此,我們的模型可以固有地了解社區(qū)在確定房價方面有多大影響。因此,響應編碼在這種情況下非常方便。考慮到預測汽車價格的問題,可能會有 SUV 或轎車等汽車。有時可以通過這兩個特征來確定價格。因此,當使用響應編碼轉(zhuǎn)換此分類特征(汽車類型)時,響應編碼會很有用。我們僅取 SUV 和轎車的平均價格。如果車型為 SUV,我們將其替換為 SUV 車型細分市場的平均價格。如果車型為轎車,我們將其替換為轎車車型細分市場的平均價格。
處理異常值異常值是被視為數(shù)據(jù)異常的數(shù)據(jù)點。但是,還需要注意的是,數(shù)據(jù)中的某些異常值對于模型正確確定結(jié)果非常有用且重要。如果我們發(fā)現(xiàn)數(shù)據(jù)中存在大量異常值,則可能會使模型無法對異常值做出正確的預測,而無法很好地概括實時數(shù)據(jù)。因此,我們必須采取正確的步驟,確保在訓練模型并將其投入生產(chǎn)之前將其移除。有多種方法可以去除數(shù)據(jù)中的異常值。其中一些方法包括找到每個特征的標準差。如果數(shù)據(jù)點高于或低于平均值 3 個標準差,我們可以自動將它們歸類為異常值并將其移除,這樣它們就不會影響機器學習模型的預測。
考慮到一個人是否會拖欠貸款,可能會有關(guān)于此人工資的信息。薪資信息可能并不總是準確的,并且這個特征中可能存在相當多的異常值。使用這些數(shù)據(jù)訓練我們的 ML 模型通常會導致它在測試集或未見過的數(shù)據(jù)上表現(xiàn)不佳。因此,最好的方法是在將數(shù)據(jù)提供給 ML 模型之前從數(shù)據(jù)中刪除異常值。這可以通過了解薪資的標準差來實現(xiàn),并且高于或低于 3 個標準差的值會自動被刪除,以便模型做出可靠的預測。
對數(shù)轉(zhuǎn)換
當我們發(fā)現(xiàn)數(shù)據(jù)中存在嚴重偏差時,可以使用這種技術(shù)。如果存在大量偏差,即數(shù)據(jù)包含大量集中在特定區(qū)域的值,而一些異常值和數(shù)據(jù)點遠離平均值,則我們的模型更有可能無法理解這種復雜的關(guān)系。
因此,我們將使用對數(shù)變換來轉(zhuǎn)換這些數(shù)據(jù)并減少偏差,以便模型對異常值更具魯棒性,并且能夠很好地概括實時數(shù)據(jù)。對數(shù)變換可以是一種方便的特征工程技術(shù),可以分別提高 ML 模型的性能。
與上述預測一個人是否會拖欠貸款的問題類似,我們也可以將對數(shù)變換應用于工資,因為我們看到工資信息中普遍存在很多偏差。大量人(約 80%)獲得基本工資,而一小部分人(約 20%)獲得大量工資。數(shù)據(jù)中存在相當大的偏差,實際上可以通過使用對數(shù)變換來消除。
結(jié)論讀完這篇文章后,我相信您能夠理解對您的機器學習模型很重要的各種特征工程技術(shù)。在正確的時間使用最佳的特征工程技術(shù)確實非常方便,并且可以通過使用人工智能為公司生成有價值的預測。
來源:PyTorch研習社
-
人工智能
+關(guān)注
關(guān)注
1792文章
47484瀏覽量
239162 -
數(shù)據(jù)模型
+關(guān)注
關(guān)注
0文章
49瀏覽量
10043 -
機器學習
+關(guān)注
關(guān)注
66文章
8428瀏覽量
132831
發(fā)布評論請先 登錄
相關(guān)推薦
評論