[英]How to input Pre-Clustered data for K-Nearest Neighbor algorithm
我對我正在從事的項目有疑問。 我是RI的新手,我將不勝感激。
我在數據上使用k最近鄰算法(使用類庫中的knn函數)。 我讀過某個地方,可以通過預先聚類數據來提高k近鄰分類的效率。 我的問題是,如果我使用k均值對數據進行聚類,如何將數據輸入到k最近鄰算法? 是否輸入kmeans函數的結果,即具有聚類均值的數據集,還是將分配的聚類與數據組合,然后分別在每個聚類上運行k最近鄰? 請給一些指導。
我是該網站的新手,所以不確定如何正確地提出問題。 K最近鄰居的代碼如下。 數據有很多變量,因此我不打算贅述。
我正在嘗試預測容易和困難病例的肺癌惡性腫瘤。 ClusterSIM(標簽)具有2類0(簡單)和1(硬)。
library(caret)
#Doing stratified Random Sampling
inTrain = createDataPartition(LIDC$ClusterSIM, p = 6.6/10, list = FALSE)
train1=LIDC[inTrain,]
train = train1[-65] #Removing the CLusterSIM (labels)column from training data
cc = train1[65] #creating a data.frame for ClusterSIM
c1 = as.vector(cc$ClusterSIM) # convert CLusterSIM (Labels) to a vector
test1 =LIDC[-inTrain,] #creating testing data
test = test1[-65] #removing labels from testing data
knn_predict = knn(train, test, c1, k=25)
#converting labels for testing data into factors so I can create a table.
test_val = test1[65]
test_val_factor = as.factor(test_val$ClusterSIM)
table(test_val_factor, knn_predict)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.