2016-04-12 5 views
0

私は、SVMアルゴリズムのパフォーマンスを視覚化するためのおもちゃの2Dデータセットを作成したいと思います。キャレットのSVMが異常に動作する

library(caret) 

train(class~., data=d, method='svmLinear', tuneGrid=data.frame(C=1)) 

メソッドは警告の多くを返す、のすべてを:私はラインを実行したときしかし、私は私が手に警告を理解していない

n <- 200; 

d<-data.frame(x=runif(n), y=runif(n)) 

d$class[-1 + 3 * d$x < d$y] <- "1" 
d$class[-1 + 3 * d$x > d$y] <- "2" 

:私は完全に分離可能であるデータセットを作成しましたタイプ:

23: In data.row.names(row.names, rowsi, i) : 
    some row.names duplicated: 3,4,10,12,14,16,18,22,24,27,30,34,35,38,39,45,47,52,54,56,57,64,67,72,74,76,78,81,83,84,87,88,91,92,94,99,103,108,109,111,113,115,117,118,120,121,123,128,129,131,135,137,138,140,141,143,145,146,148,153,164,171,173,178,181,187,189,191,193,194,198 --> row.names NOT used 

さらに、

誰もが世界でhappeが何であるかを説明することができます寧?

答えて

1

お使いのモデルに問題はありません。正常です。警告を無視することができます。

この問題は、キャレットのgithubページのissue 410の下に提出されました。これは現在解決され、新しいバージョンがcran(6.0-70より高いバージョン)で利用可能になると修正されます。あるいは、githubから新しいバージョンをダウンロードすることもできます。

1

まあ、私は警告の原因についてはわかりません。しかし、列車機能を使ったモデルを他の方法でフィットさせると、次のようになりました。

train(x=d[, c("x", "y")], y=factor(d$class), method='svmLinear', tuneGrid=data.frame(C=1) 

私は警告を受け取りませんでした。両方の方法のパフォーマンスは非常によく似ています。

関連する問題