2017-07-16 13 views
0

text2vecパッケージとcaretのテキスト分類の問題に取り組んでいます。 caretで異なるモデルを構築する前に、text2vecを使用してドキュメント用語行列を作成しています。目標は、ラベル付きトレーニングデータを使用して、2つの文字列間の文字列の類似性を識別することです。線形SVMモデルをトレーニングする際テキスト2Vec分類とキャレットSVM警告メッセージ

しかし、私は、警告メッセージの数を取得し、以下の抜粋:

警告メッセージ:1:svm.default IN(X = as.matrix(X)、Y = 0、カーネル=「線状」、...:
「インフルエンザ」および 「ペリンドプリリンダパミド」および「ビソプロロール-1」および「クレオン-1」および「クレオン-1」および「パラトマドール-1」 '定数。データの縮尺を変更できません。

これらの警告を理解する助けてくださいss データを縮尺できません

オリジナルのトレーニングデータの抜粋:

ID   MAKTX_Keyword  PH_Level_04_Keyword Result 
266325638 AMLODIPINE   AMLODIPINE    0 
724712821 IRBESARTANHCTZ  IRBESARTANHCTZ   0 
567428641 RABEPRAZOLE   RABEPRAZOLE    0 
137472217 MIRTAZAPINE   MIRTAZAPINE    0 
175827784 FONDAPARINUX  ARIXTRA     1 
456372747 VANCOMYCIN   VANCOMYCIN    0 
653832438 BRUFEN    IBUPROFEN    1 
917575539 POTASSIUM   POTASSIUM    0  
222949123 DIOSMINHESPERIDIN DIOSMINHESPERIDIN  0 
892725684 IBUPROFEN   IBUPROFEN    0 

SVMモデルを構築するためのコード:

control <- trainControl(method="repeatedcv", number=10, repeats=3, savePredictions=TRUE, classProbs=TRUE) 

Train_PRDHA_String.df$Result <- ifelse(Train_PRDHA_String.df$Result == 1, "X", "Y") 

(warn=1) 
(warnings=2) 

t1 = Sys.time() 
svm_Linear <- train(x = as.matrix(dtm_train), y = as.factor(Train_PRDHA_String.df$Result), 
        method = "svmLinear2", 
        trControl=control, 
        tuneLength = 5, 
        metric ="Accuracy") 
print(difftime(Sys.time(), t1, units = 'sec')) 

答えて

0

これは、これらの変数がリサンプリングされたとき、彼らは唯一のユニークな価値を持っている、意味。 preProc = "zv"を使用して警告を取り除くことができます。

+0

ありがとう@topepo! – UbuntuNewbie