-
Notifications
You must be signed in to change notification settings - Fork 2k
How to understand the Probabilities #747
Description
Hallo,
i have trained my SVM with a OneVsMany + Polynomial + SecondOrder + 55 Vectors Setup.
Now i'd like to calculate the Probabilities for some new Input Data.
I did not found much about it in the documentation, so my first question is,
do i have to use the "raw" input data or the zscores for it?
And my second question is, how do i have to understand the result
of the Probabilities for the following Example?
I don't understand why the numbers are getting so high
and what each number mean. I have expected a maximum
of 1.0 (= 100%) in total (sum of all values).
var inputData = this.trainingSet.Data.ToJagged<double>( vectors );
var inputDataScore = Accord.Statistics.Tools.ZScores( inputData );
Raw Input
machine.Probabilities( inputData[ 1000 ] );
{double[3]}
[0]: 2.1525574762352978E+46
[1]: 2.0443865729138803E+28
[2]: 5.5206145567606157E-46
machine.Probabilities( inputData[ 2000 ] );
{double[3]}
[0]: 5.5592506085602989E+199
[1]: 6.1912561927174E+46
[2]: 0
machine.Probabilities( inputData[ 3000 ] );
{double[3]}
[0]: 5.02989199542716E+229
[1]: 6.7457303591241874E-17
[2]: 1.1459520773663916E+40
machine.Probabilities( inputData[ 7000 ] );
{double[3]}
[0]: 6.7922716748069132E+77
[1]: 367458100.94832218
[2]: 6.7917792409261419E-80
ZScores
machine.Probabilities( inputDataScore[ 1000 ] );
{double[3]}
[0]: 0.000742370879781349
[1]: 0.033503026346568827
[2]: 366.37933312215193
machine.Probabilities( inputDataScore[ 2000 ] );
{double[3]}
[0]: 154.37274078540852
[1]: 0.04022262865457045
[2]: 0.00017140345326030072
machine.Probabilities( inputDataScore[ 3000 ] );
{double[3]}
[0]: 0.0003500804157922651
[1]: 0.035703246397950021
[2]: 2637.2725526589952
machine.Probabilities( inputDataScore[ 9000 ] );
{double[3]}
[0]: 0.00056572280086877229
[1]: 6536.0396566783138
[2]: 2.2543104041819597E-05