演算法 機器學習 R語言做樸素貝葉斯和決策樹演算法

2021-08-02 12:28:32 字數 2603 閱讀 5451

data:

2016-02-19

author:laidefa

########################樸素貝葉斯##################################

###目標:利用樸素貝葉斯**蘋果是好的壞的

rm(list=ls())

gc()

library(plyr)

library(reshape2)

#訓練集

color=c("紅","紅","紅","綠","紅","綠"),taste=c("good","good","bad","bad","bad","good"))

#計算類別的概率

(length.train

(dtemp$prob

head(dtemp)

(class_prob

colnames(class_prob)

#計算每個類別下,特徵取不同值的概率

(data.melt

(aa(bb

colnames(bb)

(feature_class_prob

#測試集

(oneobs

#開始**

pcpfc

#取出特徵的取值的條件概率

(feature.all

#取出特徵取值的條件概率連乘

(feature.prob

#取出類別的概率

(class.all

#輸出**結果

(pre_class

#######################結果##################

結論:這個蘋果巴準是壞的!

>

> #輸出**結果

> (pre_class

class.name pre_prob

1 bad 0.07407407

2 good 0.03703704

#####################決策樹##############################################

目標:鳶尾花的種類**

rm(list=ls())

##使用包party建立決策樹

library(party)

str(iris)

######分為訓練和測試資料兩部分

set.seed(1234)

indtraindata

dim(traindata)

testdata

dim(testdata)

####訓練模型

iris_ctree

print(iris_ctree)

plot(iris_ctree)

plot(iris_ctree,type="******")

table(predict(iris_ctree),traindata$species)

####測試模型

testpred

table(testpred,testdata$species)

結果:model formula:

機器學習演算法 樸素貝葉斯

樸素貝葉斯 na ve bayes 屬於監督學習演算法,實現簡單,學習效率高 由於建立在貝葉斯理論之上,涉及到統計學方法,所以在大樣本量下會有較好的表現,當然樣本需要在一定程度上反映真實分布情況。該演算法的一條假設為 輸入的特徵向量的各分量之間兩兩條件獨立。因為這條假設比較嚴格,能夠完全符合該假設的...

機器學習 樸素貝葉斯

樸素貝葉斯原理 1.貝葉斯公式 2.樸素貝葉斯的模型 3.後驗概率最大化的含義 4.樸素貝葉斯的引數估計 4.1.特徵是離散值 假設符合多項式分布 4.2.特徵是稀疏的離散值 假設符合伯努利分布 4.3.特徵是連續值 假設符合正態分佈 5.樸素貝葉斯演算法過程 6.樸素貝葉斯演算法小結 scikit...

機器學習基礎演算法 樸素貝葉斯

1 為什麼可以使用bayes對未知資料進行分類 首先要了解bayes的概率 條件概率,以及將條件概率應用到分類中 bayes的概率是乙個逆向概率,詳細內容檢視bayestheory.md 可以使用bayes主要是因為在知道某個條件的基礎上,可以反推某一事件發生的概率 在機器學習中使用的樣本資料就是我...