Suprimiendo la salida en libsvm (python)

Estoy usando libsvm (svmutils) de python para una tarea de clasificación. El clasificador es exacto. Sin embargo, estoy obteniendo una salida como esta:

* optimization finished, #iter = 75 nu = 0.000021 obj = -0.024330, rho = 0.563710 nSV = 26, nBSV = 0 Total nSV = 26 * optimization finished, #iter = 66 nu = 0.000030 obj = -0.035536, rho = -0.500676 nSV = 21, nBSV = 0 Total nSV = 21 * optimization finished, #iter = 78 nu = 0.000029 obj = -0.033921, rho = -0.543311 nSV = 23, nBSV = 0 Total nSV = 23 * optimization finished, #iter = 90 nu = 0.000030 obj = -0.035333, rho = -0.634721 nSV = 23, nBSV = 0 Total nSV = 23 Accuracy = 0% (0/1) (classification) Accuracy = 0% (0/1) (classification) Accuracy = 0% (0/1) (classification) Accuracy = 0% (0/1) (classification) 

¿Hay alguna manera de que pueda suprimir este diálogo? El clasificador sirve perfectamente bien, solo tengo curiosidad. Además, ¿qué significa la "Accuracy" ? ¿Y por qué esto es 0% en mi caso? (Los datos no se superponen en 80 dimensiones. Total de 4 clases. También lo he normalizado correctamente).

Utilice la opción de parámetro -q

 import svmutil param = svmutil.svm_parameter('-q') ... 

o

 import svmutil x = [[0.2, 0.1], [0.7, 0.6]] y = [0, 1] svmutil.svm_train(y, x, '-q') 

Esto puede funcionar:

 import sys from StringIO import StringIO # back up your standard output bkp_stdout = sys.stdout # replace standard output with dummy stream sys.stdout = StringIO() print 1 # here you should put you call (classification) #restre standard output for further use sys.stdout = bkp_stdout print 2 

Además, en problemas de clasificación, la precisión es la parte (porcentaje) de los elementos pronosticados correctamente de su conjunto de pruebas / validación cruzada utilizando el modelo entrenado.

Para suprimir el entrenamiento y la salida de predicción, deberá combinar las soluciones proporcionadas por has2k1 (para suprimir la salida de entrenamiento) y vonPetrushev (para suprimir la salida de predicción).

Desafortunadamente, no puedes hacer algo como lo siguiente:

 # Test matrix built, execute prediction. paramString = "" if useVerbosity else " -q " predLabels, predAccuracy, predDiscriminants = \ svmutil.svm_predict( targetLabels, testData, svModel.representation, paramString ) 

Porque con la interfaz actual de python obtendrás el siguiente error:

  File "/home/jbbrown/local_bin/pyLibSVM/pyLibSVM/svmutil.py", line 193, in svm_predict raise ValueError("Wrong options") ValueError: Wrong options