2017-12-16 26 views
0

私はscikitでSVMを使用しています。トレーニング中に私のモデルがどのように動作しているかを知る必要があります。 しかし、私はSVMに冗長を得ることができないと私は次の出力を得続ける:*scikit-learnでNu_SVRの詳細は表示されません

begin training .... 
[LibSVM] 

これは私が書いたコードです:

print("begin training ....") 
svm = NuSVR(kernel="rbf",C=20, nu=0.9,verbose=True) 
svm.fit(trX,trY) 
print(".... training ended") 

をので、私は[LIBSVM]を得ている理由冗長ではなく?冗長にするにはどうすればよいですか?

+0

* libsvm *は、内部的に使用されるオプティマイザです。ドキュメントを読んでください。これはこの機能についての警告です(この単純なケースではうまくいくはずです)。 – sascha

答えて

1

おそらくJupyterノートブックや、標準出力(stdout)ストリームをリダイレクトする他の環境でこれを使用している可能性があります。

NuSVRのフィット方法は、C++(source here)で書かれたLibSVMにタスクを分けます。コンパイルされたC++コードは、情報メッセージをstdoutに書き出します。 NuSVRにverbose=Trueが設定されていると、stdoutからそれらのメッセージを取得しようとしますが、ノートブック環境が途中にある場合は、必ずしも機能しません。

テスト通常のPythonコンソールで同じ(またはpythonanywhere.comであるように、通常のように)冗長メッセージ生成:

* 
optimization finished, #iter = 260 
epsilon = -0.000005 
obj = -255.403240, rho = -1.521151 
nSV = 30, nBSV = 12 
[LibSVM]NuSVR(C=20, cache_size=200, coef0=0.0, degree=3, gamma='auto', kernel='rbf', 
    max_iter=-1, nu=0.9, shrinking=True, tol=0.001, verbose=True) 

LIBSVMはない非常に冗長:それは与えないステップ・バイ反復処理に何か問題が生じない限り、反復処理全体を通してのステップメッセージ。

+0

あなたの答えをありがとう、実際にはい私はジュピターのノートブックを使用しているので、SVRの冗長表示は練習の終わりにしか表示されないので、それは私を助けませんので、あなたの答えに感謝します。 –

関連する問題