簡體   English   中英

SVM預測下降值

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

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