<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之旅 廣告
                # 樸素貝葉斯機器學習教程 > 原文: [https://machinelearningmastery.com/naive-bayes-tutorial-for-machine-learning/](https://machinelearningmastery.com/naive-bayes-tutorial-for-machine-learning/) Naive Bayes是一種非常簡單的分類算法,它對每個輸入變量的獨立性做出了一些強有力的假設。 然而,它已被證明在許多問題領域都是有效的。在這篇文章中,您將發現用于分類數據的樸素貝葉斯算法。閱讀這篇文章后,你會知道的。 * 如何使用Naive Bayes的分類數據。 * 如何為樸素貝葉斯模型準備類和條件概率。 * 如何使用學習的樸素貝葉斯模型進行預測。 這篇文章是為開發人員編寫的,不承擔統計或概率的背景。打開電子表格并按照說明進行操作。如果您對Naive Bayes有任何疑問,請在評論中提出,我會盡力回答。 讓我們開始吧。 ![Naive Bayes Tutorial for Machine Learning](img/bb83b3ac3664bbd3af14ba5e8680a73e.jpg) 樸素貝葉斯機器學習教程 照片由 [Beshef](https://www.flickr.com/photos/sharif/2515894536) ,保留一些權利。 ## 教程數據集 數據集是人為設計的。它描述了兩個分類輸入變量和一個具有兩個輸出的類變量。 ```py Weather Car Class sunny working go-out rainy broken go-out sunny working go-out sunny working go-out sunny working go-out rainy broken stay-home rainy broken stay-home sunny working stay-home sunny broken stay-home rainy broken stay-home ``` 我們可以將其轉換為數字。每個輸入只有兩個值,輸出類變量有兩個值。我們可以將每個變量轉換為二進制如下: **變量:天氣** * 晴天= 1 * 下雨= 0 **變量:汽車** * 工作= 1 * 破碎= 0 **變量:類** * 外出= 1 * stay-home = 0 因此,我們可以將數據集重新表示為: ```py Weather Car Class 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 ``` 如果您跟進,這可以使數據更容易在電子表格或代碼中使用。 ## 獲取免費算法思維導圖 ![Machine Learning Algorithms Mind Map](img/2ce1275c2a1cac30a9f4eea6edd42d61.jpg) 方便的機器學習算法思維導圖的樣本。 我已經創建了一個由類型組織的60多種算法的方便思維導圖。 下載,打印并使用它。 ## 學習樸素貝葉斯模型 需要從樸素貝葉斯模型的數據集中計算出兩種類型的數量: * 類概率。 * 條件概率。 讓我們從類概率開始。 ### 計算類概率 數據集是一個兩類問題,我們已經知道每個類的概率,因為我們設計了數據集。 不過,我們可以計算出0級和1級的類概率,如下所示: * P(class = 1)= count(class = 1)/(count(class = 0)+ count(class = 1)) * P(class = 0)= count(class = 0)/(count(class = 0)+ count(class = 1)) 要么 * P(class = 1)= 5 /(5 + 5) * P(class = 0)= 5 /(5 + 5) 對于屬于0級或1級的任何給定數據實例,這可能是0.5的概率。 ### 計算條件概率 條件概率是給定每個類值的每個輸入值的概率。 數據集的條件概率可以如下計算: #### 天氣輸入變量 * P(天氣=晴天|上課=外出)=計數(天氣=晴天和上課=外出)/計數(上課=外出) * P(天氣=雨天|上課=外出)=伯爵(天氣=下雨和上課=外出)/伯爵(上課=外出) * P(天氣=晴天|等級=住宿)=計數(天氣=晴天和等級=住宿)/計數(等級=住宿 - 住宿) * P(天氣=多雨|等級=住宿)=計數(天氣=多雨,等級=住宿)/計數(等級=住宿) 插入我們得到的數字: * P(天氣=晴天|等級=外出)= 0.8 * P(天氣= rainy | class = go-out)= 0.2 * P(天氣=晴天|等級=住宿)= 0.4 * P(天氣= rainy | class = stay-home)= 0.6 #### 汽車輸入變量 * P(car = working | class = go-out)= count(car = working and class = go-out)/ count(class = go-out) * P(car = broken | class = go-out)= count(car = brokenrainy和class = go-out)/ count(class = go-out) * P(car = working | class = stay-home)= count(car = working and class = stay-home)/ count(class = stay-home) * P(car = broken | class = stay-home)= count(car = brokenrainy and class = stay-home)/ count(class = stay-home) Plugging in the numbers we get: * P(car = working | class = go-out)= 0.8 * P(car = broken | class = go-out)= 0.2 * P(car = working | class = stay-home)= 0.2 * P(car = broken | class = stay-home)= 0.8 我們現在擁有使用樸素貝葉斯模型進行預測所需的一切。 ## 用樸素貝葉斯做出預測 我們可以使用貝葉斯定理進行預測。 P(h | d)=(P(d | h)* P(h))/ P(d) 哪里: * **P(h | d)**是給定數據d的假設h的概率。這稱為后驗概率。 * **P(d | h)**是假設h為真的數據d的概率。 * **P(h)**是假設h為真的概率(無論數據如何)。這被稱為h的先驗概率。 * **P(d)**是數據的概率(不論假設)。 實際上,我們不需要概率來預測新數據實例的最可能類。我們只需要得到最大響應的分子和類,這將是預測輸出。 MAP(h)= max(P(d | h)* P(h)) 讓我們從我們的數據集中獲取第一條記錄,并使用我們的學習模型來預測我們認為它屬于哪個類。 天氣=晴天,車=工作 我們為兩個類插入模型的概率并計算響應。從輸出“go-out”的響應開始。我們將條件概率相乘,并將其乘以屬于該類的任何實例的概率。 * go-out = P(weather = sunny | class = go-out)* P(car = working | class = go-out)* P(class = go-out) * 外出= 0.8 * 0.8 * 0.5 * 外出= 0.32 我們可以為住宿情況執行相同的計算: * stay-home = P(天氣=陽光|等級=住宿)* P(汽車=工作|等級=住宿)* P(等級=住宿) * 住宿= 0.4 * 0.2 * 0.5 * 住宿= 0.04 我們可以看到0.32大于0.04,因此我們預測此實例的“走出去”,這是正確的。 我們可以對整個數據集重復此操作,如下所示: ```py Weather Car Class out? home? Prediction sunny working go-out 0.32 0.04 go-out rainy broken go-out 0.02 0.24 stay-home sunny working go-out 0.32 0.04 go-out sunny working go-out 0.32 0.04 go-out sunny working go-out 0.32 0.04 go-out rainy broken stay-home 0.02 0.24 stay-home rainy broken stay-home 0.02 0.24 stay-home sunny working stay-home 0.32 0.04 go-out sunny broken stay-home 0.08 0.16 stay-home rainy broken stay-home 0.02 0.24 stay-home ``` 如果我們將預測與實際類值進行比較,我們得到80%的準確度,鑒于數據集中存在沖突的示例,這是非常好的。 ## 摘要 在這篇文章中,您發現了如何從頭開始實現Naive Bayes。你了解到: * 如何使用Naive Bayes處理分類數據。 * 如何根據訓練數據計算班級概率。 * 如何從訓練數據計算條件概率。 * 如何使用學習的樸素貝葉斯模型對新數據進行預測。 您對Naive Bayes或這篇文章有任何疑問嗎? 發表評論提出您的問題,我會盡力回答。
                  <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>

                              哎呀哎呀视频在线观看