NBM 算法【python,算法,機器學習】

樸素貝葉斯法(Naive Bayes model)是基于貝葉斯定理與特征條件獨立假設的分類方法。

貝葉斯定理

P ( A ∣ B ) = P ( B ∣ A ) ? P ( A ) P ( B ) P(A|B)=\frac{P(B|A) * P(A)}{P(B)} P(AB)=P(B)P(BA)?P(A)?
其中A表示分類,B表示屬性,因此此公式更通俗的表述如下:
P ( 分類 ∣ 屬性 ) = P ( 屬性 ∣ 分類 ) ? P ( 分類 ) P ( 屬性 ) P(分類|屬性)=\frac{P(屬性|分類) * P(分類)}{P(屬性)} P(分類屬性)=P(屬性)P(屬性分類)?P(分類)?
即在已知屬性B的前提下,分類為A的概率等于似然率(已知分類中屬性B的概率)乘以先驗概率(分類A的概率)除以證據概率(屬性B的概率)。

優點

  1. 對于大量數據的預測靠譜。
  2. 計算簡便。

缺點

  1. 屬性之間必須獨立。
  2. 選取沒有相互干涉的屬性是難點。

舉例:在夏季,某公園男性穿涼鞋的概率為 1/2 ,女性穿涼鞋的概率為 2/3 ,
并且該公園中男女比例通常為 2:1 ,問題:若你在公園中隨機遇到一個穿涼鞋的人,
請問他的性別為男性或女性的概率分別為多少?

P(男|穿涼鞋)=P(穿涼鞋|男)P(男)/P(穿涼鞋)
= 1/2 * 2/3 / (2/3 * 1/2 + 1/3
2/3)
= 1/3 / (1/3+2/9)
= 3/5

P(女|穿涼鞋)=P(穿涼鞋|女)P(女)/P(穿涼鞋)
= 2/3 * 1/3 / (2/3 * 1/2 + 1/3
2/3)
= 2/9 / (1/3+2/9)
= 2/9 * 9/5
= 2/5

所以在公園里,隨機遇到一個穿涼鞋的人,性別為女男的概率是 3/5,性別為女的概率為 2/5。

怎樣避免0概率問題

使用拉普拉斯修正,修改公式如下:
P ^ ( C = c j ) = N ( c j ) + 1 N + C \hat{P}(C=c_j)=\frac{N(c_j)+1}{N+C} P^(C=cj?)=N+CN(cj?)+1?
上式表示 c j c_j cj?分類的概率,其中 C 表示分類數量,N 表示所有的數量。
P ^ ( x i ∣ C = c j ) = N ( x i ∣ C = c j ) + 1 N + X \hat{P}(x_i|C=c_j)=\frac{N(x_i|C=c_j)+1}{N+X} P^(xi?C=cj?)=N+XN(xi?C=cj?)+1?
上式表示特定 x i x_i xi?屬性中類 c j c_j cj?的概率,其中 X 表示屬性數量。

高斯樸素貝葉斯分類器

  1. 高斯分布
    P ( x i ∣ μ , σ ) = 1 ( 2 π σ 2 ) 1 2 ? e ? ( x i ? μ ) 2 2 σ 2 P(x_i|\mu,\sigma)=\frac{1}{(2\pi \sigma^2)^{\frac{1}{2}}} * e^{-\frac{(x_i-\mu)^2}{2\sigma^2}} P(xi?μ,σ)=(2πσ2)21?1??e?2σ2(xi??μ)2?
    其中 μ = 1 N ∑ i = 1 N x i \mu=\frac{1}{N}\sum\limits_{i=1}^{N}x_i μ=N1?i=1N?xi?表示樣本的期望, σ 2 = 1 N ∑ i = 1 N ( x i ? μ ) 2 \sigma^2=\frac{1}{N}\sum\limits_{i=1}^{N}(x_i-\mu)^2 σ2=N1?i=1N?(xi??μ)2表示樣本的方差。
    如果要使用無偏差估計,N 取 N+1。
  2. 如果特征值服從高斯分布,那么根據特征值估計分類概率的公式如下:
    P ^ ( x i ∣ C = c i ) = 1 ( 2 π σ i j 2 ) 1 2 ? e ? ( x i ? μ i j ) 2 2 σ i j 2 \hat{P}(x_i|C=c_i)=\frac{1}{(2\pi \sigma_{ij}^2)^{\frac{1}{2}}} * e^{-\frac{(x_i-\mu{ij})^2}{2\sigma_{ij}^2}} P^(xi?C=ci?)=(2πσij2?)21?1??e?2σij2?(xi??μij)2?
    其中 μ i j \mu_{ij} μij?表示分類為 c i c_i ci?時,屬性 x j x_j xj?的期望,
    σ i j 2 \sigma_{ij}^2 σij2?表示分了為 c i c_i ci?時,屬性 x j x_j xj?的方差。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/19813.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/19813.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/19813.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Unity中的MVC框架

基本概念 MVC全名是Model View Controller 是模型(model)-視圖(view)-控制器(controller)的縮寫 是一種軟件設計規范,用一種業務邏輯、數據、界面顯示 分離的方法組織代碼 將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時&#x…

【嵌入式硬件】DRV8874電機驅動

目錄 1 芯片介紹 1.1 特性簡介 1.2 引腳配置 1.3 最佳運行條件 2 詳細說明 2.1 PMODE配置控制模式 2.1.1 PH/EN 控制模式 2.1.2 PWM 控制模式 2.1.3 獨立半橋控制模式 2.2 電流感測和調節 2.2.1 IPROPI電流感測 2.2.2 IMODE電流調節 3.應用 3.1設計要求 3.2 設計…

AI換臉FaceFusion一鍵云部署指南

大家好,從我開始分享到現在,收到很多朋友的反饋說配置很低玩不了AI。本篇是一個云端部署AI項目的指南,幫助大家在云端進行AI項目的部署。我會從云平臺的選擇、代碼部署、保存鏡像幾個方面進行詳細的介紹。沒有代碼基礎的小白也不用擔心&#…

exe4j innosetup

exe4j:jdk: 打包時:需要的文件最好放到單獨的一個文件夾下,主機安裝32位jdk,exe4j用32位的。 附帶jre: jre用32位的(jdk下的jre)可使用X86,X64.用相對路徑。 只打64位時,需要選擇32-bit or 64-bit (generate 64…

樂觀鎖 or 悲觀鎖 你怎么選?

你有沒有聽過這樣一句話:悲觀者正確,樂觀者成功?。那么今天我來分享下什么是樂觀鎖?和悲觀鎖。 樂觀鎖和悲觀鎖有什么區別,它們什么場景會用 樂觀鎖 樂觀鎖基于這樣的假設:多個事務在同一時間對同一數據對象進行操作的可能性很…

fps游戲中如何將矩陣轉換為二維屏幕上的矩形坐標

fps游戲中如何將矩陣轉換為二維屏幕上的矩形坐標 matrix[4][4]: 4x4 矩陣,通常用于3D變換(如模型視圖投影矩陣)。 float* location: 一個指向位置坐標的指針,表示要轉換的3D位置。 int Window_w, int Window_h: 窗口的寬度和高…

工廠模式詳情

一.介紹工廠模式的用途與特點 工廠方法模式是一種創建型設計模式, 其在父類中提供一個創建對象的方法, 允許子類決定實例化對象的類型。定義工廠方法模式(Fatory Method Pattern)是指定義一個創建對象的接口,但讓實現這個接口的類來決定實例…

Python導出Jira列表

import requests import urllib3 urllib3.disable_warnings() from jira import JIRA import pandas as pd def login_jira(username,password):jira JIRA("https://jira.cn/",basic_auth(username,password))#projectsjira.project(id13)# jqlproject"云鏈-…

基于強化學習的控制率參數自主尋優

1.介紹 針對控制建模與設計場景中控制參數難以確定的普遍問題,提出了一種基于強化學習的控制律參數自主優化解決方案。該方案以客戶設計的控制律模型為基礎,根據自定義的控制性能指標,自主搜索并確定最優的、可狀態依賴的控制參數組合。 可…

unity打包的WebGL部署到IIS問題

部署之后會出錯,我遇到的有以下幾種; 進度條卡住不動 明明已經部署到了IIS上,為什么瀏覽網頁的時候還是過不去或者直接報錯。 進度條卡住不動的問題其實就是wasm和data的錯誤。 此時在瀏覽器上按F12進入開發者模式查看錯誤(下圖…

前端知識點雜記

本文章用于記錄前端學習中遇到的瑣碎問題及解決方法,歡迎大家一起學習補充~ 前端如何獲取UUID發送至后端? 1. 命令行下載uuid庫 npm install uuid 2. 工程導入uuid庫 import { v4 as uuidv4 } from "uuid"; 3. 使用方法生成uuid實例 co…

付費工具邏輯

1.付費推廣目的: 傳播信息心理暗示;擴大銷售,指導消費;樹立形象,塑道品牌; 2.付費和免費廣告: 付費主要為了增加曝光;免費廣告一般比付費廣告轉化率高; 3.平臺廣告交…

《Kubernetes部署篇:基于麒麟V10+ARM64架構部署harbor v2.4.0鏡像倉庫》

總結:整理不易,如果對你有幫助,可否點贊關注一下? 更多詳細內容請參考:企業級K8s集群運維實戰 一、環境信息 K8S版本 操作系統 CPU架構 服務版本 1.26.15 Kylin Linux Advanced Server V10 ARM64 harbor v2.4.0 二、部…

chrome谷歌瀏覽器開啟Gemini Nano模型

前提 確保您的操作系統語言設置為英語(美國) 可能還需要將 Chrome 瀏覽器的語言更改為英語(美國)。 下載dev或Canary版本Chrome Chrome Canary Chrome Dev 注意:確認您的版本高于 127.0.6512.0。 其中一個Chrome版本不行就切換另外一個版本 繞過性能檢查 Tab輸入: …

中國美業元宇宙-探索美容行業的未來

隨著科技的不斷進步和數字化轉型的深入,元宇宙作為一種全新的虛擬現實交互平臺,正逐漸成為推動多個行業革新的重要力量。在這種背景下,中國美業也在積極擁抱元宇宙,希望通過這一新興技術為傳統美容行業帶來創新與發展。 #### 中國…

結構體相關習題的補充

結構體相關習題的補充 題目1: 如有以下代碼: struct student {int num;char name[32];float score; }stu;則下面的敘述不正確的是:( ) A.struct 是結構體類型的關鍵字 B.struct student 是用戶定義的結構體類型 C.num, score 都是結構體…

正邦科技(day4)

燒錄 一、燒錄固件二、 通訊模塊升級1:USB的方式升級固件2:通過mqtt的方式升級固件3:切換環境 三、 燒錄WiFi1:短接2:燒錄腳本 設備注意事項: 第一種方式:通信模組和MCU都可以統一燒錄BoodLoade…

Oracle Hint /*+APPEND*/插入性能總結

oracle append用法 Oracle中的APPEND用法主要用于提高數據插入的效率。 基本用法:在使用了APPEND選項后,插入數據會直接加到表的最后面,而不會在表的空閑塊中插入數據。這種做法不需要尋找freelist中的free block,從而避免了在…

【計算機畢設】基于Spring Boot的課程作業管理系統 - 源碼免費(私信領取)

免費領取源碼 | 項目完整可運行 | v:chengn7890 誠招源碼校園代理! 1. 研究目的 課程作業管理系統旨在為教師和學生提供一個便捷的平臺,用于發布、提交和評定課程作業。本系統旨在提高作業管理的效率,促進教…

Golang反射

文章目錄 基本介紹reflect包reflect.Typereflect.Valuereflect.Kind具體類型、空接口與reflect.Value的相互轉換 反射應用場景修改變量的值訪問結構體的字段信息調用變量所綁定的方法實現函數適配器創建任意類型的變量 基本介紹 基本介紹 在Go中,反射(re…