[英]SVM Prediction is dropping values
我正在數據集上運行SVM模型,該模型在訓練/擬合模型上運行良好。 但是,當我將其用於預測/測試數據時,由於某種原因,它似乎正在刪除行,當我嘗試將“ pred_SVM”添加回數據集中時,長度是不同的。 下面是我的代碼
#SVM MODEL
SVM_swim <- svm(racetime_mins ~ event_date+ event_month +year
+event_id +
gender + place + distance+ New_Condition+
raceNo_Updated +
handicap_mins +points+
Wind_Speed_knots+
Air_Temp_Celsius +Water_Temp_Celsius +Wave_Height_m,
data = SVMTrain, kernel='linear')
summary(SVM_swim)
#Predict Race_Time Using Test Data
pred_SVM <- predict(SVM_swim, SVMTest, type ="response")
View(pred_SVM)
#Add predicted Race_Times back into the test dataset.
SVMTest$Pred_RaceTimes<- pred_SVM
View(SVMTest) #Returns 13214 rows
View(pred_SVM) #Returns 12830
$<-.data.frame
( *tmp*
,Pred_RaceTime,value = c( 2
= 27.1766438249356,錯誤::替換有12830行,數據有13214
如命令中所述,您需要擺脫數據集中的NA
值。 SVM正在為您處理它,因此pred_SVM
輸出的計算不包含NA值。
要測試數據中是否存在NA
,只需運行: sum(is.na(SVMTest))
我很確定您會看到一個大於零的數字。
在開始構建SVM算法之前,請通過以下方法消除所有NA
值:
dataset <- dataset[complete.cases(dataset), ]
然后,將數據分為訓練和測試集后,您可以運行,
SVM_swim <- svm(.....,data = SVMTrain, kernel='linear')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.