簡體   English   中英

如何為K最近鄰居算法輸入預聚類數據

[英]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)

knn有幾個庫, class只是一個。 [*]

查看class::knn的文檔,看來您不能給它加上前奏。

因此,搜索其他庫。

[*]實際上,在R中,經常有幾個競爭和不兼容的庫來執行任何操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM