[英]Different no of tuples for the prediction model and test set data in SVM
我有一個包含兩列的數據集,如下所示,其中第 1 列,時間戳是時間的特定值,其中 Column.10 給出了該時間實例的總用電量。 該數據共有 81502 個實例。
我正在使用 e1071 包對 R 中的這些數據進行支持向量回歸,以預測未來的電源使用情況。 代碼如下。 我首先將數據集分為訓練數據和測試數據。 然后使用訓練數據使用 svm 函數對數據進行建模,然后預測測試集的功耗。
library(e1071)
attach(data.csv)
index <- 1:nrow(data.csv)
testindex <- sample(index,trunc(length(index)/3))
testset <- na.omit(data.csv[testindex, ])
trainingset <- na.omit(data.csv[-testindex, ])
model <- svm(Column.10 ~ timestamp, data=trainingset)
prediction <- predict(model, testset[,-2])
tab <- table(pred = prediction, true = testset[,2])
但是,當我嘗試根據預測制作混淆矩陣時,出現錯誤:
Error in table(pred = prediction, true = testset[, 2]) : all arguments must have the same length
所以我試圖找到兩個參數的長度,發現
the length(prediction) to be 81502
and the length(testset[,2]) to be 27167
由於我只對測試集做了預測,所以我不知道如何對 81502 個值進行預測。 預測和測試集的值總數有何不同? 即使我只為測試集提供了整個數據集的功效值,它是如何得到預測的?
改變
prediction <- predict(model, testset[,-2])
在
prediction <- predict(model, testset)
但是,在進行回歸時不應使用表,而應使用 MSE。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.