成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

機器學習之特征工程深度解析 原創

發布于 2024-6-13 09:08
瀏覽
0收藏

機器學習不僅要求算法找出優質模式,提供算法所真正需要的數據類型也非常重要。本文將探索機器學習中的特征工程相關算法,借助這些算法可以創建新的特征并對其進行處理,以優化機器學習模型。

引言

你一定聽說過“garbage in, garbage out(輸入的垃圾數據會導致輸出的垃圾結果)”這句諺語,這句話在訓練機器學習模型時確實適用。如果我們使用不相關的數據來訓練機器學習模型,那么即使是最好的機器學習算法也無濟于事。相反,即使使用簡單的機器學習算法,使用精心設計的有意義的特征也可以獲得卓越的性能。那么,我們如何才能創建這些有意義的特征,從而最大限度地提高我們模型的性能呢?答案是特征工程。

當使用傳統的機器學習算法,如回歸、決策樹、支持向量機和其他需要數字輸入的算法時,特征工程尤其重要。然而,創建這些數字輸入可不僅僅是關于數據技能的問題。這是一個需要創造力和領域知識的過程,而且它擁有與科學一樣多的藝術特征。

從廣義上講,我們可以將特征工程分為兩個部分:1)創建新的特征;2)處理這些特征,使其在所使用的機器學習算法中進一步優化。在本文中,我們將討論特征工程的這兩個組成部分相關的跨區段、結構化、非NLP數據集等內容。

創建新特征

原始數據收集可能會讓人筋疲力盡,而且在這項任務結束時,我們可能太累了,以至于無法投入更多的時間和精力來創建其他特征。但這正是我們必須抵制直接投入到模型訓練的誘惑的地方。我向你保證,這種做法是非常有價值的!

在這個轉折點上,我們應該停下來問問自己,“如果我根據我的領域知識手動進行預測,哪些特征會幫助我做好工作呢?”問這個問題可能會為我們的模型創造新的有意義的特征開辟可能性;否則,我們的模型可能會錯過這些特征。一旦我們考慮了我們可能從中受益的其他特征,那么我們就可以利用以下技術從原始數據中創建新的特征。

1.聚合

顧名思義,這種技術可以幫助我們組合多個數據點,以創建更全面的視圖。我們通常使用計數、求和、平均值、最小值、最大值、百分位數、標準差和變異系數等標準函數對連續數字數據進行聚合運算。每個函數可以捕獲不同的信息元素,使用的最佳函數取決于具體的使用場景。通常,我們可以在特定的時間或事件窗口上應用聚合技術,這在特定問題的上下文中是極其有意義的。

讓我們舉一個例子,我們想預測給定的信用卡交易是否是欺詐性的。對于這個使用場景,我們無疑可以使用特定于交易的特征,但除了這些特征之外,我們還可以從創建聚合的客戶級特征中受益,如:

  • 客戶在過去五年中成為欺詐受害者的次數:一個客戶以前曾多次成為欺詐受害者,更有可能再次成為欺詐受害者。因此,使用這種聚合的客戶級視圖可以提供適當的預測信號。
  • 最后五筆交易金額的中位數:通常,當信用卡受損時,欺詐者可能會嘗試進行多次小數額交易來測試信用卡。現在,小數額交易非常常見,可能不是欺詐的跡象,但如果我們在短時間內連續看到許多此類交易,這可能表明信用卡受損。對于這樣的情況,我們可以考慮創建一個將最后幾筆交易金額考慮在內的聚合特征。

機器學習之特征工程深度解析-AI.x社區

上圖顯示了單個交易金額情況。我們可以看到,孤立的小數額交易并不罕見,也不表明存在欺詐;然而,連續多次小數額交易卻是欺詐的跡象。下圖顯示了最后五筆交易金額的滾動中位數,只有在存在多筆連續小數額交易的模式時,才會返回低值。在這種情況下,底部聚合視圖可以使用交易金額作為特征來區分合法的小數額交易和存在欺詐的小數額交易事務。

2.差異和比率

在許多類型的問題中,集合模式的變化對于預測或異常檢測是非常有價值的信號。其中,差異和比率是表示數字特征變化的有效技術。就像聚合一樣,我們也可以在問題的上下文中在有意義的時間窗口內應用這些技術。

示例:

  • 過去1小時內新商戶交易的百分比與過去30天內新商戶成交的百分比之間的差異:快速連續的高百分比新商戶交易本身可能表明存在欺詐風險,但是,當我們看到這種行為與客戶的歷史行為相比發生了變化時,這將成為一個更加明顯的信號。
  • 當天的交易次數與最近30天的每日交易次數中位數的比率:當信用卡被破壞時,它可能會在較短的時間窗口內發生許多交易,這可能不符合過去的信用卡使用情況。當前一天的交易計數與最后30天的中間每日的交易計數的比率顯著提高可能意味著存在欺詐性使用模式。

機器學習之特征工程深度解析-AI.x社區

從上表中我們可以看出,給定日期的高交易計數本身可能并不意味著存在異常交易行為。相反,基于比率的特征可以促進客戶當前交易行為與其過去交易行為之間的比較,從而可以更有效地捕捉異常。

3.年齡編碼

我們可以使用年齡計算技術,通過獲取兩個時間戳或日期之間的差異,將日期或時間戳特征轉換為數字特征。如果與特征值相關聯的保有期可以是用于預測的有價值的信號,則我們也可以使用該技術將某些非數字特征轉換為有意義的數字特征。

示例:

  • 信用卡上次使用后的天數:長期處于休眠狀態的信用卡上的突然交易可能與高欺詐風險有關。我們可以通過計算自上次使用信用卡以來的日期與當前交易日期之間的時間差來計算這一特征。
  • 自客戶的設備首次使用以來的天數:如果我們看到來自新設備的交易,它可能比客戶使用時間更長的設備進行的交易風險更大。我們可以創建一個特征,將設備的使用年限指示為客戶首次使用該設備的日期與當前交易日期之間的差異。

機器學習之特征工程深度解析-AI.x社區

上表顯示了一個年齡編碼的示例。在這里,我們創建了一個新的數字類型的特征“Days since transaction device first used(自交易設備首次使用以來的天數)”,作為客戶設備首次使用日期和當前交易日期之間的天數差。

4.指示器編碼

指示器或布爾特征具有二進制值{1,0}或{True,False}。指示器特征是一種非常常見的數據類型,用于表示各種類型的二進制信息。在某些情況下,我們可能已經具有數字形式的二進制特征,而在其他情況下,它們可能具有非數字值。要使用非數字二進制特征進行模型訓練,我們所要做的就是將它們映射到數字值。

除了這些常見的情況和指示器特征的使用之外,我們還可以利用指示器編碼作為一種工具來表示非數字數據點之間的比較。這個屬性使它特別強大,因為它為我們測量非數字特征的變化創造了一種方式。

示例:

  • 最近登錄事件期間驗證失敗:最近登錄失敗事件可能與更高的欺詐交易風險有關。在這種情況下,原始數據可能具有特征值“Yes”或“No”;我們在這里所要做的就是將這些值映射到1或0。
  • 與上次交易相比,國家的位置發生了變化:國家位置的變化可能表明信用卡受損。在這里,創建一個表示非數字特征為“國家位置”變化的指示器特征將捕獲此國家變化信息。

機器學習之特征工程深度解析-AI.x社區

上表顯示了一個指示器編碼的示例。在這里,我們通過將客戶的當前交易國家與他們以前的交易國家進行比較,創建了一個新的數字特征“Country change from previous transaction(從上次交易以來的國家變化)”。

5.獨熱編碼

如果我們的特征數據是分類形式的,無論是數字的還是非數字的都可以應用獨熱編碼技術。其中,數字分類形式是指包含非連續或非測量數據的數字數據,如地理區域代碼、商店ID和其他此類數據。獨熱編碼技術可以將這些特征轉換為一組指示器特征,我們可以在訓練機器學習模型時使用這些指示器特征。對分類特征應用獨熱編碼將為該分類變量中的每個類別創建一個新的二進制特征。由于新特征的數量隨著類別數量的增加而增加,因此該技術適用于類別數量較少的特征,尤其是當我們有較小的數據集時。其中一條標準經驗法則建議,如果我們每個類別至少有十條記錄,就應該應用這項技術。

示例:

  • 交易性購買類別:某些類型的購買類別可能與較高的欺詐風險相關。由于購買類別名稱是文本數據,我們可以應用獨熱編碼技術將此特征轉換為一組數字指示器特征。如果有十個不同的采購類別名稱,獨熱編碼將創建十個新的指示器特征,每個采購類別名稱對應一個指示器特征。
  • 設備類型:在線交易可以通過幾種不同類型的設備進行,如iPhone、Android手機、Windows PC和Mac。其中一些設備更容易受到惡意軟件的影響,或者欺詐者很容易訪問,因此可能與更高的欺詐風險有關。要以數字形式包括設備類型信息,我們可以對設備類型應用獨熱編碼,這將為每個設備類型創建一個新的指示器特征。

機器學習之特征工程深度解析-AI.x社區

上表顯示了獨熱編碼的示例。在這里,我們通過將獨熱編碼技術應用于非數字分類特征“Device Type(設備類型)”,創建了一組新的數字指示器特征。

6.目標編碼

目標編碼技術適用于應用獨熱編碼的相同類型的特征;但是,與獨熱編碼器相比,這種技術存在一些優點和缺點。當類別的數量很大時(基數很高),使用獨熱編碼將不樂觀地增加特征的數量,這可能導致模型過擬合。在這種情況下,目標編碼可能是一種有效的技術,但前提是我們正在研究監督學習問題。這是一種將每個類別值映射到該類別目標的預期值的技術。如果處理具有連續目標的回歸問題,那么此計算將類別映射到該類別的平均目標值。在二進制目標的分類問題的情況下,目標編碼將把類別映射到該類別的正事件概率。與獨熱編碼不同,這種技術的優點是不增加特征的數量。但是,這種技術也存在缺點,就是它只能應用于監督學習問題。應用這項技術也可能使模型容易受到過擬合的影響,特別是在某些類別的觀測數量較低的情況下。

示例:

  • 商戶名稱:針對某些商戶的交易可能存在欺詐行為。可能有成千上萬這樣的商家,每個商家都有不同的欺詐交易風險。對包含商家名稱的特征應用獨熱編碼可能會引入數千個新特征,這是不可取的。在這種情況下,目標編碼可以在不增加特征數量的情況下幫助捕獲商家的欺詐風險信息。
  • 交易郵政編碼:就像商家一樣,在不同郵政編碼中進行的交易可能代表不同的欺詐風險水平。盡管郵政編碼中存在數值,但它們不是連續的測量變量,不應按原樣在模型中使用。相反,我們可以通過應用目標編碼等技術來合并與每個郵政編碼相關的欺詐風險信息。

機器學習之特征工程深度解析-AI.x社區

上表給出了目標編碼的示例。在這里,我們通過將目標編碼技術應用于非數字分類特征“Merchant Name(商戶姓名)”,創建了一個新的數字特征“Merchant Name target encoding(商戶姓名目標編碼)”。顧名思義,這種技術依賴于目標值來計算新的特征值。

一旦我們從原始數據中創建了新特性,下一步就是對它們進行處理,以獲得最佳的模型性能。我們通過下一節中討論的特征處理來實現這一點。

特征處理

特征處理是指一系列數據處理步驟,以確保機器學習模型符合預期的數據。雖然在使用某些機器學習算法時需要其中一些處理步驟,但其他步驟確保我們在所考慮的特征和機器學習算法之間達成良好的一致性。在本節中,讓我們討論一些常見的特征處理步驟以及為什么需要它們。

1.異常值處理

一些機器學習算法,特別是回歸模型等參數算法,會受到異常值的嚴重影響。這些機器學習算法試圖適應異常值,嚴重影響模型參數并損害整體性能。要處理異常值,我們必須首先識別它們。我們可以通過應用某些經驗法則來檢測特定特征的異常值,例如絕對值大于平均值加三個標準差,或者一個值在最接近的須值之外(最接近的四分位數加四分位數間距值的1.5倍)。一旦我們確定了特定特征中的異常值,我們就可以使用以下一些技術來處理異常值:

  • 刪除:我們可以刪除至少有一個異常值的觀測值。如果我們的數據在不同特征之間存在太多的異常值,我們可能會失去許多觀測結果。
  • 替換:我們可以用平均值替換異常值,例如給定特征的平均值、中值和模數。
  • 特征轉換或標準化:我們可以使用對數轉換或特征標準化(如下文中所述的)來減少異常值的大小。
  • 封頂和截底:我們可以將超出某個值的異常值替換為該值,例如,將第99個百分位數以上的所有值替換為第99個百分點值,將第1個百分位以下的所有值都替換為第1個百分點值。

機器學習之特征工程深度解析-AI.x社區

上圖顯示了檢測單變量異常值的兩種常用技術。我們可以看到,這兩種技術可以產生不同的異常值集。如果數據遵循正態分布,則應使用均值+3的標準差技術。注意,基于箱形圖的技術一般來說更通用些,可以應用于任何分布的數據。

機器學習之特征工程深度解析-AI.x社區

注意,有一些技術可以檢測多變量異常值(關于多個特征的異常值)的觀測值,但它們更復雜,通常不會在機器學習模型訓練方面增加太多的價值。還要注意的是,在使用大多數非參數機器學習模型(如支持向量機)和基于樹的算法(如決策樹、隨機森林和XGBoost)時,不需要考慮異常值。

2.缺失值處理

缺失數據在真實世界的數據集中非常常見。除了XGBoost這樣的少數算法外,大多數傳統的機器學習算法都不允許在訓練數據集中丟失值。因此,修復缺失值是機器學習建模中的常規任務之一。目前,已經存在幾種技術可以處理缺失的值;然而,在實現任何技術之前,重要的是要了解丟失數據的原因,或者至少要知道數據是否隨機丟失。

如果數據不是隨機丟失的,這意味著某些亞組更有可能存在丟失的數據,那么輸入這些數據的值可能很困難,尤其是在幾乎沒有可用數據的情況下。如果數據隨機丟失,我們可以使用接下來描述的一些常見處理技術。它們都有各自的優缺點,但是由我們自己來決定什么方法最適合我們的使用場景。

  • 刪除觀測值:我們可以刪除至少有一個缺失特征值的觀測值。然而,如果我們的數據在不同的特征中有太多的缺失值,那么我們最終可能會失去許多觀測結果。
  • 刪除特征:如果一個特征存在大量缺失值,我們可以選擇把這一特征徹底刪除掉。
  • 用平均值替換:我們可以使用平均值,如給定特征的平均值、中值和模值來替換缺失的值。這種方法實施起來很簡單,但可能無法為所有類型的觀測提供良好的估計。例如,高欺詐風險交易可能具有與低欺詐風險交易金額不同的平均交易金額,并且使用總體平均值來代替缺失的高欺詐風險的交易金額可能不是一個好的替換方案。
  • 最大似然、多重輸入、K個最近鄰:這些是更復雜的方法,考慮了與數據集中其他特征的關系,可以提供比總體平均值更準確的估計。然而,實現這些方法卻需要額外的建模或算法實現。

機器學習之特征工程深度解析-AI.x社區

上表顯示了缺失值處理中常用技術的應用。

3.縮放

通常,我們在機器學習模型中使用的特征具有不同的范圍。如果我們在不縮放的情況下使用它們,則具有大絕對值的特征將主導預測結果。相反,為了給每個特征一個公平的機會來為預測結果做出貢獻,我們必須將所有特征放在同一尺度上。兩種最常見的縮放技術是:

  • 規一化:此縮放技術將特征值限制在0和1之間。為了應用歸一化,我們減去最小特征值,并將其除以該特征的范圍(最小值和最大值之間的差)。如果我們的一些特征有尖銳的偏斜或有一些極端的異常值,那么歸一化可能不是一種好的技術。
  • 標準化:該技術將特征數據分布轉換為標準正態分布。我們可以通過減去平均值并除以標準差來實現這項技術。如果特征具有尖銳的偏斜或一些極端的異常值,則通常優選這種技術。

請注意,基于樹的算法,如決策樹、隨機森林、XGBoost和其他算法,可以處理未縮放的數據,并且在使用這些算法時不需要縮放。

機器學習之特征工程深度解析-AI.x社區

上表顯示了兩種常用特征縮放技術的應用情況。

機器學習之特征工程深度解析-AI.x社區

上圖顯示了原始、標準化和標準化特征值之間的比例差異。正如我們所看到的,縮放不會影響數據分布的形狀。

4.降維

今天,我們擁有大量的數據,我們可以構建大量的特征集合來訓練我們的模型。對于大多數算法來說,擁有更多的特征是好的,因為這意味著將提供更多的選項來提高模型性能。然而,并非所有算法都是如此。基于距離度量的算法受到維數災難——隨著特征數量的大幅增加,兩個觀測值之間的距離值變得毫無意義。因此,要使用依賴于距離度量的算法,我們應該確保不使用大量特征。

如果我們的數據集擁有大量的特征,那么,如果我們不知道保留哪些特征和丟棄哪些特征的話,我們可以使用主成分分析(PCA)等技術。PCA技術能夠將舊特征集轉換為新特征集。它會創建新的特征,使得具有最高特征值的特征捕獲來自舊特征的大部分信息。然后,我們可以只保留前幾個新特征,并丟棄其余的特征。

其他統計技術,如關聯分析和特征選擇算法,可以用于監督學習問題,以減少特征的數量。然而,它們通常不會捕獲與PCA對相同數量的特征所捕獲的信息水平相同的信息。

機器學習之特征工程深度解析-AI.x社區

上表顯示了主成分分析在特征降維中的應用。正如我們所看到的,前三個特征捕獲了原始數據集中超過87%的信息。在這種情況下,我們可以選擇忽略兩個特征(f4和f5),以獲得小于13%的信息損失。要保留的特征數量和要消除的特征數量將因問題而異,具體取決于各種因素。

5.向正態分布的轉換

這種措施是一個例外,因為它只適用于目標,而不適用于特征。此外,大多數機器學習算法對目標的分布沒有任何限制,但某些算法,如線性回歸,要求目標正態地分布。線性回歸假設所有數據點的誤差值對稱且集中在零附近(就像正態分布的形狀一樣),正態分布目標變量確保滿足這一假設。

我們可以通過繪制直方圖來了解目標的分布情況。像Shapiro-Wilk檢驗這樣的統計檢驗通過檢驗這一假設來告訴我們正態性。如果我們的目標不是正態分布的,我們可以嘗試各種變換,如對數變換、平方變換、平方根變換等,以檢查哪些變換使目標分布正態。還有一種Box-Cox變換,它嘗試多個參數值,我們可以選擇一個最能將目標的分布變換為正態的參數值。

機器學習之特征工程深度解析-AI.x社區

上圖顯示了原始目標數據的三種轉換。在這種特定情況下,我們可以看到,日志轉換最能將原始數據分布轉換為正態分布。

注意:雖然我們可以以任何順序在特征中實現特征處理步驟,但我們必須徹底考慮它們的應用順序。例如,使用均值替換的缺失值處理可以在異常值檢測之前或之后實現。然而,用于替換的平均值可能會有所不同,這取決于我們是在異常值處理之前還是之后處理缺失值。本文中概述的特征處理序列按問題對后續處理步驟的影響順序處理這些問題。因此,遵循這個順序通常對解決大多數問題是有效的。

結論

正如引言中所提到的,特征工程是機器學習的一個維度,它使我們能夠在特殊程度上控制模型的性能。為了充分利用特征工程的潛力,我們在本文中學習了各種技術,這些技術可以幫助我們創建新的特征并對其進行處理,以優化機器學習模型。無論您選擇使用本文中的哪些特征工程原理和技術,我們在此特別強調的是要理解機器學習不僅僅是要求算法找出模式。也就是說,我們通過提供算法所真正需要的數據類型,最終使算法能夠有效地完成其工作。

最后,除非另有說明;否則,本文所有圖片均由作者本人提供。

譯者介紹

朱先忠,51CTO社區編輯,51CTO專家博客、講師,濰坊一所高校計算機教師,自由編程界老兵一枚。

原文標題:Feature Engineering for Machine Learning,作者:Sumit Makashir

鏈接:

https://towardsdatascience.com/feature-engineering-for-machine-learning-eb2e0cff7a30。

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 久久精品99| 欧美日韩电影一区 | 成人免费观看视频 | 日韩欧美中文字幕在线观看 | 美女黄18岁以下禁止观看 | 国产成人在线一区二区 | 高清国产一区二区 | 香蕉久久久久久 | av官网在线 | 成人在线免费观看 | 中文字幕一区二区三区四区五区 | 精品一区二区三区在线观看国产 | 国产一区二区三区久久久久久久久 | 欧美一区二区三区在线观看视频 | 亚洲毛片在线观看 | 黄色片av | 风间由美一区二区三区在线观看 | 欧美日韩成人影院 | 日韩国产专区 | 91av入口| 亚洲欧洲日韩 | 免费视频99| 免费三级黄 | 91精品国产色综合久久不卡蜜臀 | 欧美不卡视频 | 久久久久国产精品人 | www日本高清 | 91影院在线观看 | 中文字幕人成乱码在线观看 | 亚洲黄色在线免费观看 | 亚洲国产精品91 | 成人永久免费 | 国产乱码精品一区二区三区忘忧草 | 国产精品久久久久久久免费观看 | 99热精品6 | 日本成人中文字幕在线观看 | 成人在线观看网站 | 国产一区二区三区在线看 | 蜜桃毛片 | 婷婷免费在线 | 91精品导航 |