R語言中的非線性分類
你可以在這篇文章中找到8種在R語言中實現的非線性方法,每一種方法都做好了為你複製貼上及修改你問題的準備。
本文中的所有方法都使用了資料集包中隨R提供的虹膜花資料集。這個資料集描述了虹膜花的測量結果,並且要求將每次的觀察結果分類到三種花中的一種。
Irise花兒
照片來自:dottieg2007,部分權利保留
混合判別分析
這個配方演示了虹膜資料集上的MDA方法。
R中的混合判別分析:
# load the package library(mda) data(iris) # fit model fit <- mda(Species~., data=iris) # summarize the fit summary(fit) # make predictions predictions <- predict(fit, iris[,1:4]) # summarize accuracy table(predictions, iris$Species)
二次判別分析
QDA尋求最大化類間距離的屬性之間的二次關係。
這個配方演示了虹膜資料集上的QDA方法。
R中的二次判別分析 :
# load the package library(MASS) data(iris) # fit model fit <- qda(Species~., data=iris) # summarize the fit summary(fit) # make predictions predictions <- predict(fit, iris[,1:4])$class # summarize accuracy table(predictions, iris$Species)
需要更多R中的elp專用於機器學習嗎?
參加我的免費14天電子郵件課程,並瞭解如何在您的專案中使用R(附帶示例程式碼)。
點選註冊,並獲得免費的PDF電子書版本的課程。
規範化判別分析
這個配方演示了虹膜資料集上的RDA方法。
R中的規範化判別分析 :
# load the package library(klaR) data(iris) # fit model fit <- rda(Species~., data=iris, gamma=0.05, lambda=0.01) # summarize the fit summary(fit) # make predictions predictions <- predict(fit, iris[,1:4])$class # summarize accuracy table(predictions, iris$Species)
瞭解更多關於RDA的功能KLAR包。
神經網路
神經網路(NN)是接收輸入並將結果傳遞到傳遞的輸出的計算單元的圖形,這些單元被排序成層,以便將輸入向量的特徵連線到輸出向量的特徵。通過訓練(如反向傳播演算法),神經網路可以被設計和訓練來模擬資料中的基礎關係。
這個配方演示了虹膜資料集上的一個神經網路。
R中的神經網路:
# load the package
library(nnet)
data(iris)
# fit model
fit <- nnet(Species~., data=iris, size=4, decay=0.0001, maxit=500)
# summarize the fit
summary(fit)
# make predictions
predictions <- predict(fit, iris[,1:4], type="class")
# summarize accuracy
table(predictions, iris$Species)
靈活的判別分析
這個配方演示了虹膜資料集上的FDA方法。
R中的柔性判別分析 :
# load the package
library(mda)
data(iris)
# fit model
fit <- fda(Species~., data=iris)
# summarize the fit
summary(fit)
# make predictions
predictions <- predict(fit, iris[,1:4])
# summarize accuracy
table(predictions, iris$Species)
詳細瞭解mda軟體包中的fda功能。
支援向量機
支援向量機(SVM)是一種在轉換問題空間中使用點的方法,可以最佳地將類分為兩組。對於多種類別的分類方法是以一對多的模式進行的,SVM(支援向量機)還支援通過建模功能與最小量的允許誤差的迴歸。
這個配方演示了虹膜資料集上的SVM方法。
R中的支援向量機法:
# load the package
library(kernlab)
data(iris)
# fit model
fit <- ksvm(Species~., data=iris)
# summarize the fit
summary(fit)
# make predictions
predictions <- predict(fit, iris[,1:4], type="response")
# summarize accuracy
table(predictions, iris$Species)
詳細瞭解kernlab軟體包中的ksvm函式。
k-最近鄰
k-最近鄰(kNN)方法通過將相似案例定位到給定資料例項(使用相似性函式)並返回平均或大部分最相似的資料例項來做出預測。
這個配方演示了虹膜資料集上的kNN方法。
# load the package
library(caret)
data(iris)
# fit model
fit <- knn3(Species~., data=iris, k=5)
# summarize the fit
summary(fit)
# make predictions
predictions <- predict(fit, iris[,1:4], type="class")
# summarize accuracy
table(predictions, iris$Species)
詳細瞭解插入符包中的knn3函式。
樸素貝葉斯
樸素貝葉斯使用貝葉斯定理來模擬每個屬性與類變數的條件關係。
這個配方演示了基於虹膜資料集上的樸素貝葉斯。
R中的樸素貝葉斯:
# load the package
library(caret)
data(iris)
# fit model
fit <- knn3(Species~., data=iris, k=5)
# summarize the fit
summary(fit)
# make predictions
predictions <- predict(fit, iris[,1:4], type="class")
# summarize accuracy
table(predictions, iris$Species)
詳細瞭解e1071軟體包中的naiveBayes功能。
總結
在這篇文章中,您使用虹膜花資料集找到了R中的非線性分類的8種方法。
每種方法都是通用的,可供您複製,貼上和修改您自己的問題。
感覺在R中機器學習的過程不太順利?
只需幾分鐘,開發你自己的模型
...只需幾行R程式碼
在我的新電子書中找到方法:用R掌握機器學習
涵蓋了自學教程和端到端專案,如:載入資料、視覺化、構建模型、調優等等...
最後把機器學習帶到你自己的專案中去
跳過學術,就是結果。