20150827 [學習筆記] R與資料探勘 (4)

整理自 R軟體與資料探勘之開發與應用 -- 階層分群k平均模糊c平均

[ GitHub ]
 
 
  • 背景知識
 
 
  • 學習內容
  • R 軟體安裝 (略過)
  • R Studio軟體安裝 (略過)
 
  • 資料探勘方法
  • START : 訓練資料和測試資料 (完成)
 
  • 分類演算法
  • (一)倒傳遞類神經網路(Back-Propagation Neural Network) (完成)
  • (二)決策樹(Decision Tree) (完成)
  • (三)支援向量機(Support Vector Machine) (完成)
  • (四)貝式分類(Naïve Bayes) (完成)
  • (五)k位最近鄰居法(k-Nearest Neighbor) (完成)
 
  • 分群演算法
  • (六)階層分群演算法(Hierarchical Clustering)
  • (七)k平均演算法(k-Means)
  • (八)模糊c平均演算法(Fuzzy c-Means)
  • (九)期望最大值演算法(Expectation-Maximization)
  • (十)自組織映射圖(Self Organizing Maps)
 
 
 
 

(六)階層分群演算法(Hierarchical Clustering)

[前置作業] 基本概念
  • 相關知識
 
 
  •  
STAGE 1 : 輸入資料和運算階段
  • 1.  新增R程式 , 在R Script中撰寫 , 並將檔案另存為"hierarchical clustering.R": 
 
# input data
inputdata <- read.csv(file.choose())
 
# computation
hc.model <- hclust(dist(inputdata), method="ave")
print(hc.model)
 
  • 2.  存檔後把程式碼標記起來點選 run , 在對話窗中選擇之前在"START : 訓練資料與測試資料"建立的"trainingdata.csv" : 
 
  • 3.  顯示運算結果
  •  
 
STAGE 2 : 評估階段
  • 1.  在R Script中新增以下內容 , 完成後把它標記起來並點選 run : 
 
# evaluation
plot(hc.model, hang = -1, labels=inputdata$Species)
  •  
  • 2.  顯示分群結果
 
 
 
 

(七)k平均演算法(k-Means)

[前置作業] 基本概念
  • 相關知識
 
 
 
STAGE 1 : 輸入資料和運算階段
  • 1.  新增R程式 , 在R Script中撰寫 , 並將檔案另存為"k-means.R": 
 
# input data
inputdata <- read.csv(file.choose())
 
# computation
km.model <- kmeans(inputdata, 3)
print(km.model)
 
 
  • 2.  在存檔後把程式碼標記起來點選 run , 並且在對話窗中選擇之前建立的"trainingdata.csv" : 
  •  
  • 3.  顯示運算結果
 
 
STAGE 2 : 評估階段
  • 1.  在R Script中新增以下內容 , 完成後把它標記起來並點選 run : 
 
# evaluation
table(inputdata$Species, km.model$cluster)
plot(inputdata[c("Sepal.Length", "Sepal.Width")], col=km.model$cluster)
points(km.model$centers[,c("Sepal.Length", "Sepal.Width")],
       col=1:3, pch=8, cex=2)
 
  • 2.  顯示分群結果 : 
  •  
  •  
  •  
 

(八)模糊c平均演算法(Fuzzy c-Means)

[前置作業] 基本概念
  • 相關知識
 
 
STAGE 1 : 輸入資料和運算階段
  • 1.  新增R程式 , 在R Script中撰寫 , 並將檔案另存為"fuzzy c-means.R": 
 
library(e1071)
# input data
inputfile <- read.csv(file.choose())
inputdata <- subset(inputfile, select = -Species)
# computation
cm.model <- cmeans(inputdata, 3, 100, m=2,method="cmeans")
print(cm.model)
 
  • 2.  在存檔後把程式碼標記起來點選 run , 並且在對話窗中選擇之前建立的"trainingdata.csv" : 
  •  
  •  
  • 3.  顯示運算結果
  •  
  •  
STAGE 2 : 評估階段
  • 1.  在R Script中新增以下內容 , 完成後把它標記起來並點選 run : 
 
# evaluation
table(inputfile$Species, cm.model$cluster)
plot(inputdata[,1], inputdata[,2], col=cm.model$cluster)
  •  
  • 2.  顯示分群結果