我正在尝试使用svm()对我的数据进行分类。我的数据样本如下:
ID call_YearWeek week WeekCount oc
x 2011W01 1 0 0
x 2011W02 2 1 1
x 2011W03 3 0 0
x 2011W04 4 0 0
x 2011W05 5 1 1
x 2011W06 6 0 0
x 2011W07 7 0 0
x 2011W08 8 1 1
x 2011W09 9 0 0
x 2011W10 10 0 0
x 2011W11 11 0 0
x 2011W12 12 1 1
x 2011W13 13 1 1
x 2011W14 14 1 1
x 2011W15 15 0 0
x 2011W16 16 2 1
x 2011W17 17 0 0
x 2011W18 18 0 0
x 2011W19 19 1 1
第三列显示了一年中的一周。第4列显示该周的呼叫数,最后一列是二进制因子(如果在该周接收到呼叫,则不是)。我使用了以下几行代码:
train <- data[1:105,]
test <- data[106:157,]
model <- svm(oc~week,data=train)
plot(model,train,week)
plot(model,train)
最后两行都没有工作。他们没有显示任何情节,他们没有返回任何错误。我想知道为什么会这样。
谢谢
答案 0 :(得分:3)
这里似乎有两个问题,首先是plot.svm
并不支持所有svm类型 - 只有分类方法,而不是回归方法。由于您的回复是数字,svm()
假定您要进行回归,因此默认选择“eps-regression”。如果要进行分类,请将响应更改为因子
model <- svm(factor(oc)~week,data=train)
默认使用“C-classification”。
第二个问题是似乎没有实施单变量预测图。它似乎需要两个变量(一个用于x,一个用于y)。
最好退一步,准确描述你想要的情节。