R語言樸素貝葉斯Naive Bayes分類Iris鳶尾花和HairEyeColor學生性別和眼睛頭發(fā)顏色數據
全文鏈接:http://tecdat.cn/?p=31070
原文出處:拓端數據部落公眾號
最近,在貝葉斯統(tǒng)計實驗中,我們向客戶演示了用R的樸素貝葉斯分類器可以提供的內容。
這個實用的例子介紹了使用R統(tǒng)計環(huán)境的樸素貝葉斯模型。 它不假設先驗知識。
我們的步驟是:
1.啟動R
2.探索Iris鳶尾花數據集
3.構造樸素貝葉斯分類器
4.理解樸素貝葉斯
探索Iris數據集
在這個實踐中,我們將探索經典的“Iris”數據集。
Iris數據集有150個數據點和5個變量。每一個數據點包含一個特定的花,并給出4種花的測量值。
任務是用花的特征與物種一起構建一個分類器,從4種對花的觀測量中預測花的品種。
要將Iris數據集放到您的R會話中,請執(zhí)行以下操作:
data(iris)
查看數據
pairs(iris[1:4],main="

命令創(chuàng)建了一個散點圖。類決定數據點的顏色。從中可以看出,setosa花的花瓣比其他兩種都要小。
提供數據摘要
summary(iris)

構造樸素貝葉斯分類器
我們構建一個樸素的貝葉斯分類器。
(1)加載到您的工作區(qū)
(2)構建樸素的Bayes分類器,
(3)對數據進行一些預測,請執(zhí)行以下操作:
library(e1071) ?
classifier<-naiveBayes(iris[,1:4], iris[,5]) ?
table(predict(classifier, iris[,-5]), iris[,5], dnn=list('predicted','actual'))

正如你應該看到的那樣,分類器在分類方面做得很好。為什么這并不奇怪?

這給出了數據中的類分布:類的先驗分布。(“先驗”是拉丁語,表示“從前開始”)。
由于這里的預測變量都是連續(xù)的,樸素貝葉斯分類器為每個預測變量生成三個Giaussian(正態(tài)分布)分布:一個用于類變量的每個值。
您將看到3個依賴于類的高斯分布的平均(第一列)和標準偏差(第二列):

繪制成圖:
plot(function(x) dnorm, 0, 8, col=2, main="3種不同物種的花瓣長度分布")
curve(

值得注意的是,setosa irises(藍色曲線)花瓣較小(平均值=1.462),花瓣長度變化較小(唐氏偏差僅為0.1736640)。
理解樸素貝葉斯
在這個問題中,您必須計算出對于一些離散數據,樸素貝葉斯模型的參數應該是什么。
該數據集被稱為HairEyeColor,有三個變量:性別、眼睛和頭發(fā),給出了某大學592名學生的這3個變量的值。首先看一下數字:

您還可以將其繪制為“馬賽克”圖,它使用矩形來表示數據中的數字:

你在這里的工作是為一個樸素的貝葉斯分類器計算參數,它試圖從另外兩個變量中預測性別。參數應該使用最大的可能性來估計。為了節(jié)省手工計算的繁瑣時間,下面是如何使用Edge.table來獲取所需的計數

naiveBayes(Sex ~

預測


最受歡迎的見解
1.matlab使用貝葉斯優(yōu)化的深度學習
2.matlab貝葉斯隱馬爾可夫hmm模型實現
3.R語言Gibbs抽樣的貝葉斯簡單線性回歸仿真
4.R語言中的block Gibbs吉布斯采樣貝葉斯多元線性回歸
5.R語言中的Stan概率編程MCMC采樣的貝葉斯模型
6.R語言貝葉斯Poisson泊松-正態(tài)分布模型分析職業(yè)足球比賽進球數
7.R語言使用貝葉斯 層次模型進行空間數據分析
8.R語言隨機搜索變量選擇SSVS估計貝葉斯向量自回歸(BVAR)模型
9.matlab貝葉斯隱馬爾可夫hmm模型實現