0
讓我給一些背景方面:我有100個向量的列表,每一個與50米的尺寸,我想第一個50個向量與A級和最後的與B類關聯KNN多維向量
我的問題是:我怎麼能做到這一點,以便以後應用的kNN和圖書館有kNN的方法更適合呢?
在此先感謝。
讓我給一些背景方面:我有100個向量的列表,每一個與50米的尺寸,我想第一個50個向量與A級和最後的與B類關聯KNN多維向量
我的問題是:我怎麼能做到這一點,以便以後應用的kNN和圖書館有kNN的方法更適合呢?
在此先感謝。
一個浮現在我的腦海裏第一個選項是從向量的列表中進行data.frame,創造因數表,然後使用從class package KNN。
載體
使用rbind的列表中進行data.frame,使一個矩陣,然後使用as.data.frame函數(在本question更多的例子)。假設l爲向量的列表:
data <- as.data.frame(do.call(rbind, l))
因子指示器
class <- as.factor(c(rep("A", 50), rep("B", 50)))
的kNN分類使用類包
如果你沒有用於測試單獨的數據,可能最好的辦法是
train.ind <- sample(1:100, 75) # making indexes to split data into 75% train and 25% test
resulting.classes <- knn(train = data[train.ind, ], test = data[-train.ind, ], cl = class)
如果你有單獨的訓練和測試數據然後只使用
resulting.classes <- knn(train = train.data, test = test.data, cl = class)
的k近鄰的其他選擇,這可能是有用的 - ‘kknn’ package和'FNN' package.,但類包似乎最簡單的一個簡單快速KNN分類。
這工作出色,非常感謝! :) – gcolucci