2016-04-04 9 views
0

Click here to access the train and test data I used. SVMを初めて使用しました。私は40の属性と39のラベルからなる私のデータを訓練するためにRのsvmパッケージを試していました。すべての属性はdouble型です(カテゴリattriubutesでダミーエンコーディングを行ったため、大部分は0または1です)、クラスラベルは別の文字列であり、後でそれをFactorとInteger型に変換しました。Rのpredict.svmのエラー

model=svm(Category~.,data=train1,scale=FALSE) 
p1=predict(model,test1,"prob") 

これは、私がSVMを使用してモデルを訓練した結果得られたものです。

Call: 
svm(formula = Category ~ ., data = train1, scale = FALSE) 
Parameters: 
    SVM-Type: C-classification 
    SVM-Kernel: radial 
    cost: 1 
    gamma: 0.02564103 

    Number of Support Vectors: 2230 

私は機能

Error in predict.svm(model, test1, "prob") : 
NAs in foreign function call (arg 1) 
In addition: Warning message: 
In predict.svm(model, test1, "prob") : NAs introduced by coercion 

を予測する使用このエラーが表示されている理由を私はそれらの私のトレーニングデータなしのすべての属性は、それらの中にNAのを持って確認し、理解していませんよ。これで私を助けてください。 ありがとう

+0

エラーを再現するためのサンプルデータが含まれている[再現可能な例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を提供する必要があります。問題はあなたのデータにある可能性が高いですが、それはあなたが示していない部分なので、何が間違っているのかを言うのは難しいです。 – MrFlick

+0

データセットとコードを追加しました。それを確認してください。 –

答えて

1

パッケージe1071を使用しているとします(使用しているパッケージを指定しておらず、svmというパッケージがありません)。

エラーメッセージは混乱しますが、関数がブール値を期待している間は、第3引数として "prob"を渡しているという問題があります。このように試してみてください:

require(e1071) 
model=svm(Category~.,data=train1, scale=FALSE, probability=TRUE) 
p1=predict(model,test1, probability = TRUE) 
head(attr(p1, "probabilities")) 

これは私が得る出力のサンプルです。

WARRANTS OTHER OFFENSES LARCENY/THEFT VEHICLE THEFT VANDALISM NON-CRIMINAL ROBBERY ASSAULT WEAPON LAWS BURGLARY 
1 0.04809877  0.1749634  0.2649921 0.02899535 0.03548131 0.1276913 0.02498949 0.08322866 0.01097913 0.03800846 
    SUSPICIOUS OCC DRUNKENNESS FORGERY/COUNTERFEITING DRUG/NARCOTIC STOLEN PROPERTY SECONDARY CODES TRESPASS MISSING PERSON 
1 0.03255891  0.003790755 0.006249521 0.01944938  0.004843043  0.01305858 0.009727582  0.01840337 
    FRAUD KIDNAPPING  RUNAWAY DRIVING UNDER THE INFLUENCE SEX OFFENSES FORCIBLE PROSTITUTION DISORDERLY CONDUCT  ARSON 
1 0.01884472 0.006089563 0.001378799     0.003289503   0.01071418 0.004562048  0.003107619 0.002124643 
    FAMILY OFFENSES LIQUOR LAWS  BRIBERY EMBEZZLEMENT  SUICIDE 
1 0.0004787845 0.001669914 0.0007471968 0.0007465053 0.0007374036 

希望します。

+0

申し訳ありませんあなたが使ったパッケージ名のようなパッケージ名は言及していませんでした。 –

+0

良いそれがうまくいくことを願っています。 – lrnzcig