Почему SVM работает при использовании формы с разделителями-запятыми, но не с формулой формулы? р - PullRequest
0 голосов
/ 04 мая 2020

Итак, у меня есть набор данных nrow = 218, и я прохожу [this] [https://iamnagdev.com/2018/01/02/sound-analytics-in-r-for-animal-sound-classification-using-vector-machine/] пример [git здесь] [https://github.com/nagdevAmruthnath] . Я разделил мои данные на train (nrow = 163; ~ 75%) и тест (nrow = 55; ~ 25%).

Когда я доберусь до части, где "pred <- Forex (Model_svm, test) ", если я преобразую pred во фрейм данных, вместо 55 строк получается 163 (при использовании формы функции вызова svm). Это нормально, потому что он использовал 163 строки для тренировки? Или он должен иметь только 55 строк, так как я использую набор тестов для тестирования? </p>

Когда я использую форму «формулы» в SVM, у меня возникают проблемы с количеством строк в функции предикта:

model_svm <- svm(trainlabel ~ as.matrix(train) )

Но когда я использую «Традиционная» форма, прогноз на данных испытаний работает нормально:

model_svm <- svm(as.matrix(train), trainlabel)

Есть идеи, почему это так?

Некоторые поддельные данные:

featuredata_all <- matrix(rexp(218, rate=.1), ncol=23)

Часть кода:


library(data.table)

pt1 <- scale(featuredata_all[,1:22],center=T)
pt2 <- as.character(featuredata_all[,23]) #since the label is a string I kept it separate 

ft<-cbind.data.frame(pt1,pt2) #to preserve the label in text
colnames(ft)[23]<- "Cluster"

## 75% of the sample size
smp_size <- floor(0.75 * nrow(ft))

## set the seed to make your partition reproducible
set.seed(123)
train_ind <- sample(seq_len(nrow(ft)), size = smp_size)

train <- ft[train_ind,1:22] #163 reads
test  <- ft[-train_ind,1:22] #55 reads

trainlabel<- ft[train_ind,23] #163 labels
testlabel <- ft[-train_ind,23] #55 labels

#Support Vector Machine for classification
model_svm <- svm(trainlabel ~ as.matrix(train) )
summary(model_svm)

#Use the predictions on the data
pred <- predict(model_svm, test) 


 [1]: https://iamnagdev.com/2018/01/02/sound-analytics-in-r-for-animal-sound-classification-using-vector-machine/
 [2]: https://github.com/nagdevAmruthnath
...