2017-07-16 12 views
0

svm機能を使用してsvmを実行しました。 svmでは、カーネルパラメータに線形、放射状、および多項式のパラメータを入力できます。svmの結果とsvmの結果をプロットするにはどうすればよいですか?

このため、私はsvmの前にデータの分布を把握し、3つの引数のどれを使用するかを決定したいと思います。ターゲット変数にデータの分布をチェックするコードを入力するにはどうすればよいですか?

また、svmの結果をグラフ化するにはどうすればよいですか?私はstackoverflowの中ですべてのコードをやったが、私は次のエラーを取得する:ここで

Error in Summary.factor(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, : 
    ‘min’ not meaningful for factors 

または

Error in plot.svm(german_svm, data = train) : missing formula. 

は私の完全なコードです。私の問題について教えてください。

credit<-read.csv("http://freakonometrics.free.fr/german_credit.csv", header=TRUE) 
credit$Creditability<-as.factor(credit$Creditability) 


str(credit) 


library(caret) 
set.seed(1000) 
intrain<-createDataPartition(y=credit$Creditability, p=0.7, list=FALSE) 
train<-credit[intrain, ] 
test<-credit[-intrain, ] 


library("e1071") 


result<-tune.svm(Creditability ~., data=train, gamma=2^(-5:0), cost=2^(0:4)) 


result$best.parameters 


library("e1071") 
german_svm<-svm(Creditability~.,data=train, gamma=0.03125, cost=1) 

#Plotting the graph. And I had an error in here. 
plot(german_svm, data=train) 
plot(german_svm, train, Creditability ~ ., 
+  slice = list(Sepal.Width = 3, Sepal.Length = 4)) 

答えて

0

のは、この

features_list <- paste(names(credit)[!names(credit) %in% "Creditability"],collapse="+") 
f <- as.formula(paste0("Creditability~",features_list)) 
german_svm<-svm(f,data=train, gamma=0.03125, cost=1) 
plot(german_svm, data=train) 

はそれが役に立てば幸いしてみましょう!

+0

plot.svm(german_svm、data = train)のエラー:数式がありません。このメッセージが表示されます。 –

+0

'?plot.svm'のドキュメントを確認しました。引数 'formula'には、" 2つの入力変数が使用されている場合にのみ必要です "という式があります。これは、最大3つの特徴(従属変数を含む)があるときだけsvmモデルをプロットできることを意味します。この場合、多くの変数がありますので、実際にプロットしたい場合は、数式に2つの独立したフィーチャを明示的に指定する必要があります。例えば'plot(german_svm、data = train、Length.of.current.employment〜Credit.Amount)' – Prem

関連する問題