標籤編碼器與機器學習中的一種熱編碼器 [2022]

已發表: 2021-01-04

部署在眾多應用程序中的機器學習模型通常需要從分類數據或文本焦點到數字描述的一系列轉換。 為了滿足轉換需要,使用了兩種類型的編碼器,即標籤編碼器一種熱編碼器

棘手的部分是何時選擇標籤編碼器以及何時選擇一種熱編碼器 決策的選擇會影響模型,也構成了數據科學家和機器學習愛好者通常提出的許多問題的基礎。

編碼的選擇會生動地影響模型的準確商,因此可以導致優化的解決方案。 要了解它對模型的影響,我們需要了解標籤編碼器一個熱編碼器

通過人工智能和機器學習中的知識圖譜,我們大多數人會認識到的一個方面是,大多數算法都可以合理地處理數字輸入。 因此,分析師面臨的核心挑戰是將文本數據轉換為數字數據,並讓模型從中得出一個觀點。

目錄

標籤編碼器

標籤編碼引用了將標籤變形為數字形式,將其變為機器可以讀取的形式。 機器學習算法隨後可以以正確的方式確定必須如何管理這些標籤。 它是監督學習中集成數據集的關鍵預處理措施。

例如,我們有一個數據集,它以兄弟姐妹之間最高級比較的形式比較了某種技能的某種質量。 數據集很好,更好,最好。 應用標籤編碼器後,每個質量將分別被賦予標籤 0、1、2。 好質量的標籤是 0,更好的標籤是 1,最好的質量標籤是 2。

就數據集而言,上述示例是基本的。 轉換可以是任何數據集,包括身高、年齡、眼睛顏色、虹膜類型、症狀等。

Python 中的標籤編碼可以使用 Sklearn 庫來實現。 Sklearn 提供了一種將分類特徵的類別編碼為數值的非常有效的方法。 標籤編碼器對信用度介於 0 和 n-1 類之間的標籤進行編碼,其中 n 是不同標籤的數量。 如果一個標籤重申它指定的確切優點與之前指定的一樣。

而為了將這類分類文本數據改造為模型數值數據可以理解的數據,我們使用了Label Encoder類。 我們需要對初始列進行標籤編碼,從 sklearn 庫中導入 LabelEncoder 類,裝備和改造數據的初始部分,然後使用新的編碼數據恢復出現的文本數據。

這是標籤編碼的簡要說明。 依賴於數據,標籤編碼引發了一個新的困境。 為了說明,我們將一堆王國名稱編碼為數字數據。 這完全是分類數據,行之間沒有任何關聯。

為了解決這個障礙,需要採用一種新的編碼技術。 這裡的困境是由於在相似的部分中有多個數量,原型會誤判數據的順序相同,0 < 1 < 2。但這根本不是問題。 為了緩解這個困難,我們使用了一個熱編碼器。

必讀:機器學習項目理念

一個熱編碼器

One-Hot Encoding 是另一種處理分類變量的重要協議。 它僅建立在分類特徵中不同值的數量上建立的以下特徵。 分類中的整個不同值將被放大為輪廓。 一種熱編碼採用具有分類數據的部分,該部分具有編碼的現有標籤,然後將該部分劃分為多個部分。 卷由 1 和 0 重建,取決於哪個部分具有什麼值。

one-hot 編碼器不支持一維數組。 輸入應始終是二維數組。

批准給編碼器的數據不應包含字符串。

大量流行的機器學習算法不能致力於分類數據。 相反,分類數據需要修改為數值數據。 One-hot 編碼是用於進行這種轉換的策略之一。 這種技術主要用於深度學習方法與順序繼承問題相關的地方。

One-hot 編碼實際上是分類變量作為二進制向量的表現。 分類值最初映射為整數值。 每個整數值都被示例為一個全為 0 的二進制向量。

但是如果我們要處理多個文件會發生什麼?

Scikit-learn 容易受到部分的排列方式的影響,因此如果訓練數據集和測試數據集在其中出現矛盾,結果將是荒謬的。 如果一個分類在訓練數據和測試數據中有多個值,這可能會發生。

確保使用 align 命令以與訓練數據相同的方式對測試數據進行編碼。 align 命令提供了安全性,即這些部分出現在兩個數據集中的確切法令中。

閱讀:機器學習模型

結論

全球充斥著分類數據。 如果您知道如何使用這些數據,分析師將成為更有益的數據科學家。 因此,任何想要研究此類模型的人都必須熟悉標籤編碼器機器學習中一個熱門編碼器的使用。

如果您有興趣了解有關機器學習的更多信息,請查看 IIIT-B 和 upGrad 的機器學習和人工智能 PG 文憑,該文憑專為工作專業人士設計,提供 450 多個小時的嚴格培訓、30 多個案例研究和作業、IIIT- B 校友身份、5 個以上實用的實踐頂點項目和頂級公司的工作協助。

哪些算法需要使用一種熱編碼?

一種熱編碼過程用於處理分類變量。 此過程轉換分類變量,使機器學習算法更容易使用變量進行更好的預測。 僅將數值作為輸入的算法只需要一個熱編碼過程來轉換分類變量。 其中一些機器學習算法是邏輯回歸、線性回歸、支持向量機等。然而,一些算法,如馬爾可夫鏈、樸素貝葉斯等,不需要編碼,因為它們能夠處理聯合離散分佈。

什麼時候更傾向於在深度學習中使用一種熱編碼?

One Hot Encoding 是一種強大的數據轉換和預處理方法,可幫助 ML 模型理解提供的數據。 基本上,當 ML 算法無法處理分類變量時,使用一種熱編碼,因此,一種熱編碼將它們轉換為合適的形式。 當要轉換的分類變量的特徵不是序數時,最優選使用一種熱編碼。 此外,當給定數據集中存在的分類特徵數量非常少時,一種熱編碼可以有效地工作。

虛擬變量陷阱是什麼意思?

虛擬變量陷阱是 one-hot 編碼過程面臨的問題之一。 當分類數據集具有強關聯變量時,就會發生這種情況。 因此,當使用一個熱編碼過程時,使用剩餘變量可以很容易地預測一個變量的結果。 作為虛擬變量陷阱的結果,出現了另一個稱為多重共線性的問題。