樸素貝葉斯分類器:優點和缺點,應用程序和類型解釋
已發表: 2020-12-11當你需要一個快速解決問題的算法時,你會去哪裡? 你去樸素貝葉斯分類器。 這是一種快速簡單的算法,可以解決各種分類問題。 在這篇文章中,我們將了解這個算法是什麼,它是如何工作的,以及它的品質是什麼。 讓我們開始吧。
目錄
什麼是樸素貝葉斯分類器?
樸素貝葉斯分類器根據貝葉斯定理將數據分成不同的類別,同時假設所有預測變量相互獨立。 它假定類中的特定特徵與其他特徵的存在無關。
例如,如果水果是綠色的、圓形的並且直徑為 10 英寸,您可以將其視為西瓜。 這些特徵的存在可能相互依賴,但它們中的每一個都獨立地影響了所考慮的水果是西瓜的概率。 這就是為什麼這個分類器的名稱中有“樸素”一詞。
該算法非常流行,因為它甚至可以勝過非常先進的分類技術。 此外,它非常簡單,您可以快速構建它。
這是貝葉斯定理,它是該算法的基礎:
P(c | x) = P(x | c) P(c)/ P(x)

在這個等式中,“c”代表類,“x”代表屬性。 P(c/x) 代表根據預測器分類的後驗概率。 P(x) 是預測器的先驗概率,P(c) 是類的先驗概率。 P(x/c) 根據類別顯示預測變量的概率。
閱讀:樸素貝葉斯解釋
樸素貝葉斯的優點
- 該算法運行速度非常快,可以輕鬆預測測試數據集的類別。
- 您可以使用它來解決多類預測問題,因為它對它們非常有用。
- 如果特徵獨立的假設成立,樸素貝葉斯分類器的性能優於其他訓練數據較少的模型。
- 如果您有分類輸入變量,與數值變量相比,樸素貝葉斯算法的性能非常好。
樸素貝葉斯的缺點
- 如果您的測試數據集具有訓練數據集中不存在的類別的分類變量,則樸素貝葉斯模型將為其分配零概率,並且無法在這方面做出任何預測。 這種現象稱為“零頻率”,您必須使用平滑技術來解決此問題。
- 該算法作為一個糟糕的估計器也是臭名昭著的。 所以,你不應該太認真地對待“predict_proba”的概率輸出。
- 它假設所有特徵都是獨立的。 雖然理論上聽起來不錯,但在現實生活中,您幾乎找不到一組獨立的功能。
樸素貝葉斯算法的應用
正如您必須注意到的那樣,該算法為其用戶提供了很多優勢。 這就是為什麼它在各個領域也有很多應用。 以下是樸素貝葉斯算法的一些應用:

- 由於該算法快速高效,您可以使用它進行實時預測。
- 該算法在多類預測中很流行。 使用此算法,您可以輕鬆找到多個目標類別的概率。
- 電子郵件服務(如 Gmail)使用此算法來確定電子郵件是否為垃圾郵件。 該算法非常適合垃圾郵件過濾。
- 它對特徵獨立性的假設,以及解決多類問題的有效性,使其非常適合執行情感分析。 情緒分析是指識別目標群體(客戶、觀眾等)的正面或負面情緒。
- 協同過濾和朴素貝葉斯算法共同構建推薦系統。 這些系統使用數據挖掘和機器學習來預測用戶是否想要特定資源。
另請閱讀:機器學習模型解釋
樸素貝葉斯分類器的類型
該算法有多種。 以下是主要的:

伯努利樸素貝葉斯
在這裡,預測變量是布爾變量。 因此,您擁有的唯一值是“真”和“假”(您也可以擁有“是”或“否”)。 當數據根據多元伯努利分佈時,我們使用它。
多項樸素貝葉斯
人們使用這種算法來解決文檔分類問題。 例如,如果您想確定文檔屬於“法律”類別還是“人力資源”類別,您可以使用此算法對其進行排序。 它使用當前單詞的頻率作為特徵。
高斯樸素貝葉斯
如果預測變量不是離散的而是具有連續值,我們假設它們是來自高斯分佈的樣本。
結論
我們希望您發現這篇文章很有用。 如果您對樸素貝葉斯算法有任何疑問,請隨時在評論部分分享。 我們很樂意聽取您的意見。
如果您有興趣了解更多關於人工智能、機器學習的信息,請查看 IIIT-B 和 upGrad 的機器學習和人工智能 PG 文憑,該文憑專為在職專業人士設計,提供 450 多個小時的嚴格培訓、30 多個案例研究和作業, IIIT-B 校友身份、5 個以上實用的實踐頂點項目和頂級公司的工作協助。
樸素貝葉斯的局限性是什麼?
樸素貝葉斯分類器是一種算法,用於使用一組已知的訓練數據對新數據實例進行分類。 這是一個很好的分類算法; 但是,特徵的數量必須等於數據中的屬性數量。 當用於對大量項目進行分類時,計算成本很高。 它不適用於數值數據。 它只有在功能相互獨立時才能工作。 當特徵值是名義值時,它是不合適的。 它要求特徵值是互斥的。 它要求特徵值的頻率與它們正確的概率成正比。
樸素貝葉斯分類器最大的優點和缺點是什麼?
樸素貝葉斯的最大優勢在於它可以處理非常小的數據集。 它是最流行的垃圾郵件過濾算法之一。 而且,實現起來也比較簡單。 它幾乎總是被用作分類器。 如果數據集不可用,仍然可以將其用作分類算法。 該算法用於電子郵件垃圾郵件過濾,谷歌也使用它對網頁進行分類。 但是,它在更複雜的分類問題中可能沒有那麼有效。 它只有在功能相互獨立時才能工作。
如何在樸素貝葉斯中停止過度擬合?
過度擬合的一個原因是訓練數據錯誤。 如果您有一個包含大量噪聲的訓練數據集並且您有很多訓練示例,則分類器將查看訓練數據中的噪聲,而不是您嘗試為其構建模型的基礎模式。 另一個原因是你的模型太複雜了。 如果您有一個模型,其中輸入的微小變化會導致輸出的巨大變化,您可能會過度擬合。 另一種解決方案是使用正則化。 正則化將縮小模型中的長分支。 它可以平滑您的模型並防止過度擬合。
