문제

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)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top