簡體   English   中英

如何訪問 R 中 predict() function 的值進行存儲?

[英]How to access values of predict() function in R for storage?

我正在為 class 訓練一個 K-最近鄰 model。問題是他們要求我們用整個數據庫訓練它,除了被預測的行。

我的計划是初始化一個用於存儲的向量,並運行一個 for 循環以遍歷每一行,省略特定行進行訓練,然后將預測值附加到向量,並在循環后計算精度:

results <- c()
for (i in nrow(data) {
        model.kknn <- train.kknn(data[-i,11]~., data = data[-i,1:10],kmax = 7, scale = TRUE)
        pred <- predict(model,data[i,1:10])
        results <- c(results,pred)
}

我期望矢量results是一系列 1 和 0。 但是,我嘗試只循環第一行, results的值為2

打印pred時的值為:

[1] 1

Levels: 0 1

知道如何將 1 到 append 轉換為矢量results嗎?

在 for() 部分指定1:N ,最好不要“增長”一個向量,而是初始化一個適當長度的空向量並填充它。

N <- nrow(data)
results <- vector(length=N)
for (i in 1:N) {
        model.knn <- train.kknn(data[-i,11]~., data=data[-i,1:10], kmax=7, scale=T)
        results[i] <- predict(model.knn, data[i,1:10,drop=F])
}

暫無
暫無

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

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