2014-09-08 26 views
7

लापता मैं अपने SVM ​​मॉडल साजिश करने की कोशिश कर रहा हूँ।त्रुटि, सूत्र

library(foreign) 
library(e1071) 

x <- read.arff("contact-lenses.arff") 
#alt: x <- read.arff("http://storm.cis.fordham.edu/~gweiss/data-mining/weka-data/contact-lenses.arff") 
model <- svm(`contact-lenses` ~ . , data = x, type = "C-classification", kernel = "linear") 

संपर्क लेंस arff weka में अंतर्निहित डेटा फ़ाइल है।

हालांकि, अब मैं मॉडल को साजिश करने की कोशिश में एक त्रुटि में भाग गया।

plot(model, x) 
Error in plot.svm(model, x) : missing formula. 

उत्तर

12

समस्या यह है कि आपके मॉडल में, आपके पास कई कॉवरिएट हैं। 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 समारोह बस इस जहाँ तक मैं बता सकता है समर्थन नहीं करता। आप कैसे आप अपने खुद के दृश्य में उस जानकारी को संक्षेप में प्रस्तुत करना चाहते हैं तय करना होगा।

संबंधित मुद्दे