plot不会显示svm对象,也不会返回错误

时间:2015-04-16 18:13:27

标签: r svm

我正在尝试使用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)

最后两行都没有工作。他们没有显示任何情节,他们没有返回任何错误。我想知道为什么会这样。

谢谢

1 个答案:

答案 0 :(得分:3)

这里似乎有两个问题,首先是plot.svm并不支持所有svm类型 - 只有分类方法,而不是回归方法。由于您的回复是数字,svm()假定您要进行回归,因此默认选择“eps-regression”。如果要进行分类,请将响应更改为因子

model <- svm(factor(oc)~week,data=train)

默认使用“C-classification”。

第二个问题是似乎没有实施单变量预测图。它似乎需要两个变量(一个用于x,一个用于y)。

最好退一步,准确描述你想要的情节。