Как построить модель SVM в R [duplicate]

Во всех этих сценариях outerScopeVar изменяется или назначается значение асинхронно или происходит в более позднее время (ожидание или прослушивание какого-либо события), для которого текущее выполнение не будет ждать. Таким образом, все эти случаи текущего потока выполнения приводит к outerScopeVar = undefined

Давайте обсудим каждый пример (я обозначил часть, которая называется асинхронно или задерживается для возникновения некоторых событий):

1.

Здесь мы регистрируем eventlistner, который будет выполнен на этом конкретном событии. Загрузите изображение. Затем текущее выполнение будет продолжено со следующими строками img.src = 'lolcat.png'; и alert(outerScopeVar);, между тем событие может не произойти. т. е. funtion img.onload ожидают, что упомянутое изображение будет загружаться, как можно скорее. Это будет происходить во всем следующем примере: событие может отличаться.

2.

Здесь событие тайм-аута играет роль , который вызывается обработчиком по истечении указанного времени. Здесь 0, но все же он регистрирует асинхронное событие, которое будет добавлено в последнюю позицию Event Queue для выполнения, что делает гарантированную задержку.

3.

На этот раз ajax обратный вызов.

4.

Узел можно рассматривать как король асинхронного кодирования. Если отмеченная функция зарегистрирована как обработчик обратного вызова, которая будет выполнена после чтения указанного файла.

5.

Очевидное обещание (что-то будет сделано в будущем) является асинхронным. см. . Каковы различия между отложенными, обещаниями и будущими в JavaScript?

https://www.quora.com/Whats-the-difference-between-a -promise-и-обратный вызов-в-Javascript

7
задан MrFlick 8 September 2014 в 04:44
поделиться

1 ответ

Проблема в том, что в вашей модели у вас несколько ковариаций. plot() будет запускаться автоматически, только если ваш аргумент data= имеет ровно три столбца (один из которых является ответом). Например, на странице справки ?plot.svm вы можете вызвать

data(cats, package = "MASS")
m1 <- svm(Sex~., data = cats)
plot(m1, cats)

. Так как вы можете показывать только два измерения на графике, вам нужно указать, что вы хотите использовать для x и y, когда у вас есть несколько вариантов для выбора из

cplus<-cats
cplus$Oth<-rnorm(nrow(cplus))
m2 <- svm(Sex~., data = cplus)
plot(m2, cplus) #error
plot(m2, cplus, Bwt~Hwt) #Ok
plot(m2, cplus, Hwt~Oth) #Ok

. Вот почему вы получаете ошибку «Отсутствующая формула».

Существует еще один улов. plot.svm будет отображать только непрерывные переменные вдоль осей x и y. Данные data.frame с контактными линзами имеют только категориальные переменные. Функция plot.svm просто не поддерживает это, насколько я могу судить. Вам нужно будет решить, как вы хотите обобщить эту информацию в своей собственной визуализации.

13
ответ дан MrFlick 27 August 2018 в 15:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: