R에서 SVM의 분류 그래프를 어떻게 플롯합니까?
-
16-09-2019 - |
문제
R에는 SVM이 있으며 이제이 컴퓨터의 분류 공간을 플로팅하고 싶습니다. 인터넷에서 몇 가지 예를 찾았지만 이해할 수없는 것 같습니다.
내 R 스크립트는 다음과 같습니다.
library(e1071)
day_of_week <- c(0,1,2,3,4,5,6)
holiday <- factor( c(T, F, F, F, F, F, T) )
model <- svm(day_of_week, holiday)
plot(model, day_of_week, holiday)
줄거리 명령을 작동시킬 수 없습니다. 이런 그래프를 원합니다 http://bm2.genes.nig.ac.jp/rgm2/r_current/library/e1071/man/images/plot.svm_001.png
해결책
우선, plot.svm
함수는 데이터가 두 차원에 따라 다르다고 가정합니다. 예제에서 사용한 데이터는 단지 1 차원이므로 결정 경계를 라인에 플로팅해야합니다. 둘째, 함수는 입력으로 데이터 프레임이 필요한 것으로 보이며 벡터로 작업하고 있습니다.
이것은 작동해야합니다 ...
library(e1071)
day = c(0,1,2,3,4,5,6)
weather = c(1,0,0,0,0,0,0)
happy = factor(c(T,F,F,F,F,F,F))
d = data.frame(day=day, weather=weather, happy=happy)
model = svm(happy ~ day + weather, data = d)
plot(model, d)
다른 팁
또는 사용할 수 있습니다 kernlab 패키지:
library(kernlab)
model.ksvm = ksvm(happy ~ day + weather, data = d, type="C-svc")
plot(model.ksvm, data=d)
제휴하지 않습니다 StackOverflow