<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 為什么One-Hot在機器學習中編碼數據? > 原文: [https://machinelearningmastery.com/why-one-hot-encode-data-in-machine-learning/](https://machinelearningmastery.com/why-one-hot-encode-data-in-machine-learning/) 應用機器學習入門可能很困難,尤其是在處理實際數據時。 通常,機器學習教程會建議或要求您在安裝機器學習模型之前以特定方式準備數據。 一個很好的例子是對分類數據使用單熱編碼。 * 為什么需要一個熱門編碼? * 為什么不能直接在數據上擬合模型? 在這篇文章中,您將發現這些重要問題的答案,并更好地理解應用機器學習中的數據準備。 讓我們開始吧。 ![Why One-Hot Encode Data in Machine Learning?](https://img.kancloud.cn/a6/16/a616ff5c38a97e2f5f15331bc97aca7a_640x428.jpg) 為什么One-Hot在機器學習中編碼數據? [Karan Jain](https://www.flickr.com/photos/jiangkeren/8263176332/) 的照片,保留一些權利。 ## 什么是分類數據? 分類數據是包含標簽值而不是數值的變量。 可能值的數量通常限于固定集。 分類變量通常稱為[名義](https://en.wikipedia.org/wiki/Nominal_category)。 一些例子包括: * “ _pet_ ”變量,其值為:“ _dog_ ”和“ _cat_ ”。 * “_顏色_”變量,其值為:“ _red_ ”,“ _green_ ”和“ _blue_ ”。 * “_位置_”變量的值為:“first”,“ _second_ ”_和_“ _third_ ”。 每個值代表一個不同的類別。 某些類別可能彼此具有自然關系,例如自然排序。 上面的“ _place_ ”變量確實具有值的自然排序。這種類別的分類變量稱為序數變量。 ## 分類數據有什么問題? 某些算法可以直接使用分類數據。 例如,可以直接從分類數據中學習決策樹,而無需數據轉換(這取決于具體實現)。 許多機器學習算法不能直接對標簽數據進行操作。它們要求所有輸入變量和輸出變量都是數字。 通常,這主要是機器學習算法的有效實現的約束,而不是算法本身的硬性限制。 這意味著必須將分類數據轉換為數字形式。如果分類變量是輸出變量,您可能還希望將模型的預測轉換回分類形式,以便在某些應用程序中顯示或使用它們。 ## 如何將分類數據轉換為數字數據? 這涉及兩個步驟: 1. 整數編碼 2. 單熱編碼 ### 1.整數編碼 作為第一步,為每個唯一類別值分配一個整數值。 例如,“ _red_ ”為1,“ _green_ ”為2,“ _blue_ ”為3。 這稱為標簽編碼或整數編碼,并且易于反轉。 對于某些變量,這可能就足夠了。 整數值彼此之間具有自然的有序關系,并且機器學習算法可能能夠理解和利用這種關系。 例如,像上面的“地點”示例這樣的序數變量就是一個很好的例子,標簽編碼就足夠了。 ### 2.單熱編碼 對于不存在這種序數關系的分類變量,整數編碼是不夠的。 實際上,使用此編碼并允許模型假設類別之間的自然排序可能導致表現不佳或意外結果(類別之間的預測中間)。 在這種情況下,可以將單熱編碼應用于整數表示。這是移除整數編碼變量的位置,并為每個唯一整數值??添加新的二進制變量。 在“_顏色_”變量示例中,有3個類別,因此需要3個二進制變量。 “1”值放在顏色的二進制變量中,“0”值放在其他顏色上。 例如: ```py red, green, blue 1, 0, 0 0, 1, 0 0, 0, 1 ``` 二進制變量在其他字段中通常稱為“虛擬變量”,例如統計信息。 ## 進一步閱讀 * [維基百科上的分類變量](https://en.wikipedia.org/wiki/Categorical_variable) * 維基百科上的[名義類別](https://en.wikipedia.org/wiki/Nominal_category) * 維基百科上的[虛擬變量](https://en.wikipedia.org/wiki/Dummy_variable_(statistics)) ## 摘要 在這篇文章中,您了解了為什么在使用機器學習算法時通常必須對分類數據進行編碼。 特別: * 該分類數據被定義為具有有限標簽值集的變量。 * 大多數機器學習算法都需要數字輸入和輸出變量。 * 使用整數和一個熱編碼將分類數據轉換為整數數據。 你有任何問題嗎? 將您的問題發表在下面的評論中,我會盡力回答。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看