羅
羅左欣 8 years ago
要熟悉的概念有"貝式分類"和"k位最近鄰居法" !
- 20150826 [學習筆記] R與資料探勘 (3)
- 整理自 R軟體與資料探勘之開發與應用 -- 貝式分類、k位最近鄰居法
- [ GitHub ]
- (四)貝式分類(Naïve Bayes)
- [前置作業] 基本概念
- STAGE 1 : 訓練階段
- STAGE 2 : 測試階段
- STAGE 3 : 評估階段
- (五)k位最近鄰居法(k-Nearest Neighbor)
- [前置作業] 基本概念
- STAGE 1 : 訓練階段
- STAGE 2 : 測試階段
- STAGE 3 : 運算階段
- STAGE 4 : 評估階段
整理自 R軟體與資料探勘之開發與應用 -- 貝式分類、k位最近鄰居法
R 軟體安裝(略過)R Studio軟體安裝(略過)START : 訓練資料和測試資料(完成)(一)倒傳遞類神經網路(Back-Propagation Neural Network)(完成)(二)決策樹(Decision Tree)(三)支援向量機(Support Vector Machine)(完成)(四)貝式分類(Naïve Bayes)
install.packages("e1071")
library("e1071")
# training stage
trainingdata <- read.csv(file.choose())
nb.model <- naiveBayes(factor(Species)~Sepal.Length + Sepal.Width + Petal.Length +
Petal.Width, data=trainingdata)
print(nb.model)
# testing stage
testingfile <- read.csv(file.choose())
testingdata <- subset(testingfile, select = -Species)
testingtarget <- testingfile$Species
results <- predict(nb.model, newdata = testingdata)
print(results)
# accuracy
table(results, testingtarget)
accuracy <- sum(testingtarget == results)/ length(testingtarget)
sprintf("%.2f%%", accuracy * 100)
(五)k位最近鄰居法(k-Nearest Neighbor)
install.packages("class")
library("class")
# training data
trainingfile <- read.csv(file.choose())
trainingdata <- subset(trainingfile, select = -Species)
trainingtarget <- trainingfile$Species
# testing stage
testingfile <- read.csv(file.choose())
testingdata <- subset(testingfile, select = -Species)
testingtarget <- testingfile$Species
# computation
results <- knn(trainingdata, testingdata, trainingtarget, k = 3, prob=TRUE)
print(results)
# accuracy
table(results, testingtarget)
accuracy <- sum(testingtarget == results) /length(testingtarget)
sprintf("%.2f%%", accuracy * 100)