日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

身高、体重、脚长三个数值足以判断一个人的性别?贝叶斯分类模型

發(fā)布時間:2024/3/26 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 身高、体重、脚长三个数值足以判断一个人的性别?贝叶斯分类模型 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

你的信用評分是高還是低?你在某個App上的活躍度怎么樣?你是什么興趣類型的用戶?
每個商家對我們的信息了如指掌,幾乎可以做到精準推薦,這一點都不奇怪,因為用戶被商家建立的分類模型分類了無數(shù)次。商家通過我們的信息和行為留下的痕跡對我們進行分類,并且隨著我們在商家那里留下的行為痕跡越來越多,分類結果會被自動更新,最后模型越來越精確。
是什么神通廣大的模型讓商家對用戶能進行準確分類呢?其中最簡便也應用最廣泛的一個模型就是樸素貝葉斯分類(以下簡稱貝葉斯分類)。貝葉斯分類因為具有簡單、準確率高、速度快的特點而被運用到很多大型數(shù)據庫中。

什么是貝葉斯分類?
談到貝葉斯分類,不得不提及三個概念:條件概率、后驗概率、全概率公式。下面用體育比賽中的東道主效應為例說明這三個概念的含義。
美國心理學家Coumeya總結了棒球、足球、籃球等一些運動項目的主場勝率,發(fā)現(xiàn)主場明顯高于客場:在主客場比賽場次對等情況下,主隊在競賽中獲勝的比例超過50%。
如果已知在歷屆世界杯中,德國隊贏得冠軍的概率是37%,某一年德國隊得到世界杯主辦權的概率是60%。此時如果德國得到世界杯主辦權,那么德國隊贏得冠軍的概率應該超過37%,因為這時德國隊贏得冠軍的事件(記為事件A)是在德國獲得世界杯主辦權事件(記為事件B)發(fā)生的情況下發(fā)生的,而世界杯比賽有東道主效應,有利于東道主奪得冠軍。

在上述世界杯的例子中:
(1)事件A在事件B發(fā)生或不發(fā)生條件下的概率,事件B在事件A發(fā)生或不發(fā)生條件下的概率,都可以稱為條件概率。條件概率中,只要存在兩個事件,兩個事件可以互為條件。
記A、B分別為事件,B事件分為B1、B2、B3…B10種情況,則:

條件概率(貝葉斯)公式:P(A|B)*P(B)=P(B|A)*P(A)

(2)事件A在事件B已經發(fā)生的條件下發(fā)生的概率就是后驗概率。
正是因為后驗概率的應用,讓我們可以根據新出現(xiàn)的信息,改變對已有結果推測的準確性。貝葉斯概率也因此在數(shù)據分析、人工智能方面持續(xù)發(fā)光發(fā)熱。

(3)事件A在事件B發(fā)生條件下發(fā)生的概率,記為P(A|B);在事件B不發(fā)生條件下的概率記為P(A|~B),則P(A)= P(A|B)+ P(A|~B)。在事件B有n種情況時,可拓展為:
全概率公式:P(A|B)=P(A|B1)+P(A|B2)+P(A|B3)+…+P(A|Bn)
有了條件概率、后驗概率和全概率公式,我們就可以進行貝葉斯分類了。

如何進行貝葉斯分類?

貝葉斯分類適合預測結果為離散且可窮舉的類型,如等級評分(A,B,C)、是否贏得比賽、是否結婚、是否違約等。

貝葉斯分類模型是根據計算得到的每一個類別的概率確定被分類的對象屬于哪個類型,將對象劃歸到概率最大的類型中。所以貝葉斯分類的主要工作就是計算概率。

貝葉斯分類的主要步驟如下:

  • 確定特征屬性,并對特征屬性取值劃分
  • 如:在根據身高、體重、腳長判斷性別的例子中,特征屬性可以確定為:身高、體重、腳長三個。
    如果特征屬性本身為類別型變量,則無需對特征屬性取值進行劃分;如果特征屬性值為連續(xù)型變量,則需要對特征屬性值進行區(qū)間劃分,將連續(xù)的特征屬性值變成類別型的特征屬性值。

    之所以對連續(xù)型特征屬性值進行區(qū)間劃分,是因為連續(xù)型變量取值無限多的特點與貝葉斯分類統(tǒng)計值出現(xiàn)的頻率和預測結果僅要求劃分少數(shù)類別的特點不一致。連續(xù)型變量可以有無限多個取值,而貝葉斯分類是根據每個特征屬性值出現(xiàn)的頻率預測概率。如果不將連續(xù)型變量轉變?yōu)轭悇e型變量,則基本上每個值都單獨計數(shù),最后計算的每個特征屬性值出現(xiàn)的次數(shù)都很少,計算出的概率不準確。
    注:盡量對連續(xù)型特征屬性的取值進行歸一化或標準化處理,然后就可以用統(tǒng)一的區(qū)間標準對特征屬性的取值進行劃分。具體的區(qū)間劃分需根據實際情況設定,主要取決于取值區(qū)間對應的實際意義。

  • 選取訓練集和測試集,構建貝葉斯分類器
  • 訓練集和測試集必須有確定的類別,即要預測的結果。這里的類別劃分一般是根據經驗人工劃分。訓練集的樣本一般在2000以上(可根據特征屬性的多少,適當增加或減少訓練集樣本的數(shù)量)
    (1) 計算訓練集中各類別出現(xiàn)的概率;
    (2) 計算訓練集中各類別下各特征屬性值出現(xiàn)的概率;
    (3) 輸入測試集各特征屬性值,計算測試集各樣本屬于各個類別的概率,取值概率最大的類別即為個體所屬的類別。
    如:x1、x2、x3為某個體三個特征屬性的取值,A,B為互斥的類別(除A、B外,沒有其他類別)。若計算出
    P(A|x1,x2,x3) = P(x1,x2,x3|A)*P(A)/(P(x1)*P(x2)*P(x3))= 0.6,
    P(B|x1,x2,x3) = P(x1,x2,x3|B)*P(B/(P(x1)*P(x2)*P(x3)) =0.4,
    則P(A|x1,x2,x3) > P(B|x1,x2,x3),可以判斷該個體屬于A類。

    注:在實際模型計算中,可以省去分母特征屬性值乘積(P(x1)*P(x2)*P(x3))的計算,因為分母相同,只需比較分子的大小即可;同時也可以減少計算復雜度,節(jié)省資源。

  • 檢驗模型優(yōu)劣:
  • 比較通過模型預測的測試集分類結果與已知分類結果的差異,若差異在設定的誤差范圍內,則模型可以接受,并可通過將新預測的個體加入訓練集逐漸擴大樣本,對模型進行優(yōu)化。

    貝葉斯分類的R語言實現(xiàn)

    預備步驟:

    安裝plyr程輯包,plyr程輯包有數(shù)據透視表的作用。
    plyr包的主函數(shù)是**ply形式,第一個字母表示輸入的數(shù)據格式,第二個字母表示輸出的數(shù)據格式;首字母可以是(d、l、a),第二個字母可以是(d、l、a、_),d表示數(shù)據框,l表示列表,a表示數(shù)組,_表示沒有輸出。
    代碼如下:

    library(plyr)
    library(reshape2)

    貝葉斯分類實現(xiàn)步驟:

  • ##構建貝葉斯分類器
  • (1)#計算各類別出現(xiàn)的頻率

    (2)#計算各類別各特征屬性頻率

    (3)#使用上述貝葉斯分類器對訓練集進行訓練,并測試

    一個身高1.83米、體重59.0千克,腳長0.24米的人是男人還是女人呢?

  • ##訓練測試

    訓練集如下:

    注:這里沒有對身高、體重、腳長的特征屬性值進行區(qū)間劃分,也沒有進行歸一化或標準化處理,因為本次所使用的訓練集僅有8個個體,進行區(qū)間分類的意義不大。雖然樣本量少,但在本次預測中,預測的效率還是很高的。

    輸出結果如下:
  • 0代表女性,1代表男性,說明一個身高1.83米、體重59.0千克,腳長0.24米的人是女性的概率較大,可以判斷為女性。

    看到這,有人可能覺得只看數(shù)字自己也能判斷出這個人是女性還是男性,這一點毫無疑問,多數(shù)人都能根據身高、體重、腳長判斷一個人的性別。但上述例子中為了展示,僅測試了一個個體,如果有上萬個甚至數(shù)億個個體需要判斷呢?利用模型統(tǒng)計的優(yōu)勢在于模型可以在很短的時間內實現(xiàn)對大型數(shù)據的計算和判斷,并且根據大樣本計算出的結果的準確性也會較高,而人工就不行啦。

    注:若測試集是多條數(shù)據,則需要使用for循環(huán)對每一條測試數(shù)據調用一次condition_class_feature函數(shù),并且需要對輸入和輸入的數(shù)據框進行轉置和添加適當?shù)妮o助列。

    限于篇幅,上述代碼沒有對每行添加注釋,若需要獲取帶有注釋的代碼,[關注“數(shù)學算法的世界”,回復“貝葉斯分類”即可。]
    數(shù)學算法的世界
    數(shù)據分析|Python
    R|SQL|Excel|科普

    總結

    以上是生活随笔為你收集整理的身高、体重、脚长三个数值足以判断一个人的性别?贝叶斯分类模型的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。