-
Notifications
You must be signed in to change notification settings - Fork 243
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Introduce mutliclass support for SVC models (one-vs-one decision fuc…
…ntion output) (#89)
- Loading branch information
1 parent
2475f3c
commit dddfc67
Showing
18 changed files
with
879 additions
and
58 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
#include <math.h> | ||
#include <string.h> | ||
void score(double * input, double * output) { | ||
double var0; | ||
var0 = (0) - (0.25); | ||
double var1; | ||
var1 = exp((var0) * ((((pow((5.4) - (input[0]), 2)) + (pow((3.0) - (input[1]), 2))) + (pow((4.5) - (input[2]), 2))) + (pow((1.5) - (input[3]), 2)))); | ||
double var2; | ||
var2 = exp((var0) * ((((pow((6.2) - (input[0]), 2)) + (pow((2.2) - (input[1]), 2))) + (pow((4.5) - (input[2]), 2))) + (pow((1.5) - (input[3]), 2)))); | ||
double var3; | ||
var3 = exp((var0) * ((((pow((5.0) - (input[0]), 2)) + (pow((2.3) - (input[1]), 2))) + (pow((3.3) - (input[2]), 2))) + (pow((1.0) - (input[3]), 2)))); | ||
double var4; | ||
var4 = exp((var0) * ((((pow((5.9) - (input[0]), 2)) + (pow((3.2) - (input[1]), 2))) + (pow((4.8) - (input[2]), 2))) + (pow((1.8) - (input[3]), 2)))); | ||
double var5; | ||
var5 = exp((var0) * ((((pow((5.0) - (input[0]), 2)) + (pow((2.0) - (input[1]), 2))) + (pow((3.5) - (input[2]), 2))) + (pow((1.0) - (input[3]), 2)))); | ||
double var6; | ||
var6 = exp((var0) * ((((pow((6.7) - (input[0]), 2)) + (pow((3.0) - (input[1]), 2))) + (pow((5.0) - (input[2]), 2))) + (pow((1.7) - (input[3]), 2)))); | ||
double var7; | ||
var7 = exp((var0) * ((((pow((7.0) - (input[0]), 2)) + (pow((3.2) - (input[1]), 2))) + (pow((4.7) - (input[2]), 2))) + (pow((1.4) - (input[3]), 2)))); | ||
double var8; | ||
var8 = exp((var0) * ((((pow((4.9) - (input[0]), 2)) + (pow((2.4) - (input[1]), 2))) + (pow((3.3) - (input[2]), 2))) + (pow((1.0) - (input[3]), 2)))); | ||
double var9; | ||
var9 = exp((var0) * ((((pow((6.3) - (input[0]), 2)) + (pow((2.5) - (input[1]), 2))) + (pow((4.9) - (input[2]), 2))) + (pow((1.5) - (input[3]), 2)))); | ||
double var10; | ||
var10 = exp((var0) * ((((pow((6.0) - (input[0]), 2)) + (pow((2.7) - (input[1]), 2))) + (pow((5.1) - (input[2]), 2))) + (pow((1.6) - (input[3]), 2)))); | ||
double var11; | ||
var11 = exp((var0) * ((((pow((5.7) - (input[0]), 2)) + (pow((2.6) - (input[1]), 2))) + (pow((3.5) - (input[2]), 2))) + (pow((1.0) - (input[3]), 2)))); | ||
double var12; | ||
var12 = exp((var0) * ((((pow((5.1) - (input[0]), 2)) + (pow((3.8) - (input[1]), 2))) + (pow((1.9) - (input[2]), 2))) + (pow((0.4) - (input[3]), 2)))); | ||
double var13; | ||
var13 = exp((var0) * ((((pow((4.4) - (input[0]), 2)) + (pow((2.9) - (input[1]), 2))) + (pow((1.4) - (input[2]), 2))) + (pow((0.2) - (input[3]), 2)))); | ||
double var14; | ||
var14 = exp((var0) * ((((pow((5.7) - (input[0]), 2)) + (pow((4.4) - (input[1]), 2))) + (pow((1.5) - (input[2]), 2))) + (pow((0.4) - (input[3]), 2)))); | ||
double var15; | ||
var15 = exp((var0) * ((((pow((5.8) - (input[0]), 2)) + (pow((4.0) - (input[1]), 2))) + (pow((1.2) - (input[2]), 2))) + (pow((0.2) - (input[3]), 2)))); | ||
double var16; | ||
var16 = exp((var0) * ((((pow((5.1) - (input[0]), 2)) + (pow((3.3) - (input[1]), 2))) + (pow((1.7) - (input[2]), 2))) + (pow((0.5) - (input[3]), 2)))); | ||
double var17; | ||
var17 = exp((var0) * ((((pow((5.7) - (input[0]), 2)) + (pow((3.8) - (input[1]), 2))) + (pow((1.7) - (input[2]), 2))) + (pow((0.3) - (input[3]), 2)))); | ||
double var18; | ||
var18 = exp((var0) * ((((pow((4.3) - (input[0]), 2)) + (pow((3.0) - (input[1]), 2))) + (pow((1.1) - (input[2]), 2))) + (pow((0.1) - (input[3]), 2)))); | ||
double var19; | ||
var19 = exp((var0) * ((((pow((4.5) - (input[0]), 2)) + (pow((2.3) - (input[1]), 2))) + (pow((1.3) - (input[2]), 2))) + (pow((0.3) - (input[3]), 2)))); | ||
double var20; | ||
var20 = exp((var0) * ((((pow((6.3) - (input[0]), 2)) + (pow((2.7) - (input[1]), 2))) + (pow((4.9) - (input[2]), 2))) + (pow((1.8) - (input[3]), 2)))); | ||
double var21; | ||
var21 = exp((var0) * ((((pow((6.0) - (input[0]), 2)) + (pow((3.0) - (input[1]), 2))) + (pow((4.8) - (input[2]), 2))) + (pow((1.8) - (input[3]), 2)))); | ||
double var22; | ||
var22 = exp((var0) * ((((pow((6.3) - (input[0]), 2)) + (pow((2.8) - (input[1]), 2))) + (pow((5.1) - (input[2]), 2))) + (pow((1.5) - (input[3]), 2)))); | ||
double var23; | ||
var23 = exp((var0) * ((((pow((5.8) - (input[0]), 2)) + (pow((2.8) - (input[1]), 2))) + (pow((5.1) - (input[2]), 2))) + (pow((2.4) - (input[3]), 2)))); | ||
double var24; | ||
var24 = exp((var0) * ((((pow((6.1) - (input[0]), 2)) + (pow((3.0) - (input[1]), 2))) + (pow((4.9) - (input[2]), 2))) + (pow((1.8) - (input[3]), 2)))); | ||
double var25; | ||
var25 = exp((var0) * ((((pow((7.7) - (input[0]), 2)) + (pow((2.6) - (input[1]), 2))) + (pow((6.9) - (input[2]), 2))) + (pow((2.3) - (input[3]), 2)))); | ||
double var26; | ||
var26 = exp((var0) * ((((pow((6.9) - (input[0]), 2)) + (pow((3.1) - (input[1]), 2))) + (pow((5.1) - (input[2]), 2))) + (pow((2.3) - (input[3]), 2)))); | ||
double var27; | ||
var27 = exp((var0) * ((((pow((6.3) - (input[0]), 2)) + (pow((3.3) - (input[1]), 2))) + (pow((6.0) - (input[2]), 2))) + (pow((2.5) - (input[3]), 2)))); | ||
double var28; | ||
var28 = exp((var0) * ((((pow((4.9) - (input[0]), 2)) + (pow((2.5) - (input[1]), 2))) + (pow((4.5) - (input[2]), 2))) + (pow((1.7) - (input[3]), 2)))); | ||
double var29; | ||
var29 = exp((var0) * ((((pow((6.0) - (input[0]), 2)) + (pow((2.2) - (input[1]), 2))) + (pow((5.0) - (input[2]), 2))) + (pow((1.5) - (input[3]), 2)))); | ||
double var30; | ||
var30 = exp((var0) * ((((pow((7.9) - (input[0]), 2)) + (pow((3.8) - (input[1]), 2))) + (pow((6.4) - (input[2]), 2))) + (pow((2.0) - (input[3]), 2)))); | ||
double var31; | ||
var31 = exp((var0) * ((((pow((7.2) - (input[0]), 2)) + (pow((3.0) - (input[1]), 2))) + (pow((5.8) - (input[2]), 2))) + (pow((1.6) - (input[3]), 2)))); | ||
double var32; | ||
var32 = exp((var0) * ((((pow((7.7) - (input[0]), 2)) + (pow((3.8) - (input[1]), 2))) + (pow((6.7) - (input[2]), 2))) + (pow((2.2) - (input[3]), 2)))); | ||
memcpy(output, (double[]){(((((((((((((((((((-0.08359187780790468) + ((var1) * (-0.0))) + ((var2) * (-0.0))) + ((var3) * (-0.4393498355605194))) + ((var4) * (-0.009465620856664334))) + ((var5) * (-0.16223369966927))) + ((var6) * (-0.26861888775075243))) + ((var7) * (-0.4393498355605194))) + ((var8) * (-0.4393498355605194))) + ((var9) * (-0.0))) + ((var10) * (-0.0))) + ((var11) * (-0.19673905328606292))) + ((var12) * (0.3340655283922188))) + ((var13) * (0.3435087305152051))) + ((var14) * (0.4393498355605194))) + ((var15) * (0.0))) + ((var16) * (0.28614124535416424))) + ((var17) * (0.11269159286168087))) + ((var18) * (0.0))) + ((var19) * (0.4393498355605194)), (((((((((((((((((((((-0.18563912331454907) + ((var20) * (-0.0))) + ((var21) * (-0.06014273244194299))) + ((var22) * (-0.0))) + ((var23) * (-0.031132453078851926))) + ((var24) * (-0.0))) + ((var25) * (-0.3893079321588921))) + ((var26) * (-0.06738007627290196))) + ((var27) * (-0.1225075748937126))) + ((var28) * (-0.3893079321588921))) + ((var29) * (-0.29402231709614085))) + ((var30) * (-0.3893079321588921))) + ((var31) * (-0.0))) + ((var32) * (-0.028242141062729226))) + ((var12) * (0.16634667752431267))) + ((var13) * (0.047772685163074764))) + ((var14) * (0.3893079321588921))) + ((var15) * (0.3893079321588921))) + ((var16) * (0.0))) + ((var17) * (0.0))) + ((var18) * (0.3893079321588921))) + ((var19) * (0.3893079321588921)), ((((((((((((((((((((((((0.5566649875797668) + ((var20) * (-25.563066587228416))) + ((var21) * (-38.35628154976547))) + ((var22) * (-38.35628154976547))) + ((var23) * (-0.0))) + ((var24) * (-38.35628154976547))) + ((var25) * (-0.0))) + ((var26) * (-0.0))) + ((var27) * (-0.0))) + ((var28) * (-6.2260303727828745))) + ((var29) * (-18.42781911624364))) + ((var30) * (-0.14775026537286423))) + ((var31) * (-7.169755983020096))) + ((var32) * (-0.0))) + ((var1) * (12.612328267927264))) + ((var2) * (6.565812506955159))) + ((var3) * (0.0))) + ((var4) * (38.35628154976547))) + ((var5) * (0.0))) + ((var6) * (38.35628154976547))) + ((var7) * (0.0))) + ((var8) * (0.0))) + ((var9) * (38.35628154976547))) + ((var10) * (38.35628154976547))) + ((var11) * (0.0))}, 3 * sizeof(double)); | ||
} |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
import "math" | ||
func score(input []float64) []float64 { | ||
var var0 float64 | ||
var0 = (0) - (0.25) | ||
var var1 float64 | ||
var1 = math.Exp((var0) * ((((math.Pow((5.4) - (input[0]), 2)) + (math.Pow((3.0) - (input[1]), 2))) + (math.Pow((4.5) - (input[2]), 2))) + (math.Pow((1.5) - (input[3]), 2)))) | ||
var var2 float64 | ||
var2 = math.Exp((var0) * ((((math.Pow((6.2) - (input[0]), 2)) + (math.Pow((2.2) - (input[1]), 2))) + (math.Pow((4.5) - (input[2]), 2))) + (math.Pow((1.5) - (input[3]), 2)))) | ||
var var3 float64 | ||
var3 = math.Exp((var0) * ((((math.Pow((5.0) - (input[0]), 2)) + (math.Pow((2.3) - (input[1]), 2))) + (math.Pow((3.3) - (input[2]), 2))) + (math.Pow((1.0) - (input[3]), 2)))) | ||
var var4 float64 | ||
var4 = math.Exp((var0) * ((((math.Pow((5.9) - (input[0]), 2)) + (math.Pow((3.2) - (input[1]), 2))) + (math.Pow((4.8) - (input[2]), 2))) + (math.Pow((1.8) - (input[3]), 2)))) | ||
var var5 float64 | ||
var5 = math.Exp((var0) * ((((math.Pow((5.0) - (input[0]), 2)) + (math.Pow((2.0) - (input[1]), 2))) + (math.Pow((3.5) - (input[2]), 2))) + (math.Pow((1.0) - (input[3]), 2)))) | ||
var var6 float64 | ||
var6 = math.Exp((var0) * ((((math.Pow((6.7) - (input[0]), 2)) + (math.Pow((3.0) - (input[1]), 2))) + (math.Pow((5.0) - (input[2]), 2))) + (math.Pow((1.7) - (input[3]), 2)))) | ||
var var7 float64 | ||
var7 = math.Exp((var0) * ((((math.Pow((7.0) - (input[0]), 2)) + (math.Pow((3.2) - (input[1]), 2))) + (math.Pow((4.7) - (input[2]), 2))) + (math.Pow((1.4) - (input[3]), 2)))) | ||
var var8 float64 | ||
var8 = math.Exp((var0) * ((((math.Pow((4.9) - (input[0]), 2)) + (math.Pow((2.4) - (input[1]), 2))) + (math.Pow((3.3) - (input[2]), 2))) + (math.Pow((1.0) - (input[3]), 2)))) | ||
var var9 float64 | ||
var9 = math.Exp((var0) * ((((math.Pow((6.3) - (input[0]), 2)) + (math.Pow((2.5) - (input[1]), 2))) + (math.Pow((4.9) - (input[2]), 2))) + (math.Pow((1.5) - (input[3]), 2)))) | ||
var var10 float64 | ||
var10 = math.Exp((var0) * ((((math.Pow((6.0) - (input[0]), 2)) + (math.Pow((2.7) - (input[1]), 2))) + (math.Pow((5.1) - (input[2]), 2))) + (math.Pow((1.6) - (input[3]), 2)))) | ||
var var11 float64 | ||
var11 = math.Exp((var0) * ((((math.Pow((5.7) - (input[0]), 2)) + (math.Pow((2.6) - (input[1]), 2))) + (math.Pow((3.5) - (input[2]), 2))) + (math.Pow((1.0) - (input[3]), 2)))) | ||
var var12 float64 | ||
var12 = math.Exp((var0) * ((((math.Pow((5.1) - (input[0]), 2)) + (math.Pow((3.8) - (input[1]), 2))) + (math.Pow((1.9) - (input[2]), 2))) + (math.Pow((0.4) - (input[3]), 2)))) | ||
var var13 float64 | ||
var13 = math.Exp((var0) * ((((math.Pow((4.4) - (input[0]), 2)) + (math.Pow((2.9) - (input[1]), 2))) + (math.Pow((1.4) - (input[2]), 2))) + (math.Pow((0.2) - (input[3]), 2)))) | ||
var var14 float64 | ||
var14 = math.Exp((var0) * ((((math.Pow((5.7) - (input[0]), 2)) + (math.Pow((4.4) - (input[1]), 2))) + (math.Pow((1.5) - (input[2]), 2))) + (math.Pow((0.4) - (input[3]), 2)))) | ||
var var15 float64 | ||
var15 = math.Exp((var0) * ((((math.Pow((5.8) - (input[0]), 2)) + (math.Pow((4.0) - (input[1]), 2))) + (math.Pow((1.2) - (input[2]), 2))) + (math.Pow((0.2) - (input[3]), 2)))) | ||
var var16 float64 | ||
var16 = math.Exp((var0) * ((((math.Pow((5.1) - (input[0]), 2)) + (math.Pow((3.3) - (input[1]), 2))) + (math.Pow((1.7) - (input[2]), 2))) + (math.Pow((0.5) - (input[3]), 2)))) | ||
var var17 float64 | ||
var17 = math.Exp((var0) * ((((math.Pow((5.7) - (input[0]), 2)) + (math.Pow((3.8) - (input[1]), 2))) + (math.Pow((1.7) - (input[2]), 2))) + (math.Pow((0.3) - (input[3]), 2)))) | ||
var var18 float64 | ||
var18 = math.Exp((var0) * ((((math.Pow((4.3) - (input[0]), 2)) + (math.Pow((3.0) - (input[1]), 2))) + (math.Pow((1.1) - (input[2]), 2))) + (math.Pow((0.1) - (input[3]), 2)))) | ||
var var19 float64 | ||
var19 = math.Exp((var0) * ((((math.Pow((4.5) - (input[0]), 2)) + (math.Pow((2.3) - (input[1]), 2))) + (math.Pow((1.3) - (input[2]), 2))) + (math.Pow((0.3) - (input[3]), 2)))) | ||
var var20 float64 | ||
var20 = math.Exp((var0) * ((((math.Pow((6.3) - (input[0]), 2)) + (math.Pow((2.7) - (input[1]), 2))) + (math.Pow((4.9) - (input[2]), 2))) + (math.Pow((1.8) - (input[3]), 2)))) | ||
var var21 float64 | ||
var21 = math.Exp((var0) * ((((math.Pow((6.0) - (input[0]), 2)) + (math.Pow((3.0) - (input[1]), 2))) + (math.Pow((4.8) - (input[2]), 2))) + (math.Pow((1.8) - (input[3]), 2)))) | ||
var var22 float64 | ||
var22 = math.Exp((var0) * ((((math.Pow((6.3) - (input[0]), 2)) + (math.Pow((2.8) - (input[1]), 2))) + (math.Pow((5.1) - (input[2]), 2))) + (math.Pow((1.5) - (input[3]), 2)))) | ||
var var23 float64 | ||
var23 = math.Exp((var0) * ((((math.Pow((5.8) - (input[0]), 2)) + (math.Pow((2.8) - (input[1]), 2))) + (math.Pow((5.1) - (input[2]), 2))) + (math.Pow((2.4) - (input[3]), 2)))) | ||
var var24 float64 | ||
var24 = math.Exp((var0) * ((((math.Pow((6.1) - (input[0]), 2)) + (math.Pow((3.0) - (input[1]), 2))) + (math.Pow((4.9) - (input[2]), 2))) + (math.Pow((1.8) - (input[3]), 2)))) | ||
var var25 float64 | ||
var25 = math.Exp((var0) * ((((math.Pow((7.7) - (input[0]), 2)) + (math.Pow((2.6) - (input[1]), 2))) + (math.Pow((6.9) - (input[2]), 2))) + (math.Pow((2.3) - (input[3]), 2)))) | ||
var var26 float64 | ||
var26 = math.Exp((var0) * ((((math.Pow((6.9) - (input[0]), 2)) + (math.Pow((3.1) - (input[1]), 2))) + (math.Pow((5.1) - (input[2]), 2))) + (math.Pow((2.3) - (input[3]), 2)))) | ||
var var27 float64 | ||
var27 = math.Exp((var0) * ((((math.Pow((6.3) - (input[0]), 2)) + (math.Pow((3.3) - (input[1]), 2))) + (math.Pow((6.0) - (input[2]), 2))) + (math.Pow((2.5) - (input[3]), 2)))) | ||
var var28 float64 | ||
var28 = math.Exp((var0) * ((((math.Pow((4.9) - (input[0]), 2)) + (math.Pow((2.5) - (input[1]), 2))) + (math.Pow((4.5) - (input[2]), 2))) + (math.Pow((1.7) - (input[3]), 2)))) | ||
var var29 float64 | ||
var29 = math.Exp((var0) * ((((math.Pow((6.0) - (input[0]), 2)) + (math.Pow((2.2) - (input[1]), 2))) + (math.Pow((5.0) - (input[2]), 2))) + (math.Pow((1.5) - (input[3]), 2)))) | ||
var var30 float64 | ||
var30 = math.Exp((var0) * ((((math.Pow((7.9) - (input[0]), 2)) + (math.Pow((3.8) - (input[1]), 2))) + (math.Pow((6.4) - (input[2]), 2))) + (math.Pow((2.0) - (input[3]), 2)))) | ||
var var31 float64 | ||
var31 = math.Exp((var0) * ((((math.Pow((7.2) - (input[0]), 2)) + (math.Pow((3.0) - (input[1]), 2))) + (math.Pow((5.8) - (input[2]), 2))) + (math.Pow((1.6) - (input[3]), 2)))) | ||
var var32 float64 | ||
var32 = math.Exp((var0) * ((((math.Pow((7.7) - (input[0]), 2)) + (math.Pow((3.8) - (input[1]), 2))) + (math.Pow((6.7) - (input[2]), 2))) + (math.Pow((2.2) - (input[3]), 2)))) | ||
return []float64{(((((((((((((((((((-0.08359187780790468) + ((var1) * (-0.0))) + ((var2) * (-0.0))) + ((var3) * (-0.4393498355605194))) + ((var4) * (-0.009465620856664334))) + ((var5) * (-0.16223369966927))) + ((var6) * (-0.26861888775075243))) + ((var7) * (-0.4393498355605194))) + ((var8) * (-0.4393498355605194))) + ((var9) * (-0.0))) + ((var10) * (-0.0))) + ((var11) * (-0.19673905328606292))) + ((var12) * (0.3340655283922188))) + ((var13) * (0.3435087305152051))) + ((var14) * (0.4393498355605194))) + ((var15) * (0.0))) + ((var16) * (0.28614124535416424))) + ((var17) * (0.11269159286168087))) + ((var18) * (0.0))) + ((var19) * (0.4393498355605194)), (((((((((((((((((((((-0.18563912331454907) + ((var20) * (-0.0))) + ((var21) * (-0.06014273244194299))) + ((var22) * (-0.0))) + ((var23) * (-0.031132453078851926))) + ((var24) * (-0.0))) + ((var25) * (-0.3893079321588921))) + ((var26) * (-0.06738007627290196))) + ((var27) * (-0.1225075748937126))) + ((var28) * (-0.3893079321588921))) + ((var29) * (-0.29402231709614085))) + ((var30) * (-0.3893079321588921))) + ((var31) * (-0.0))) + ((var32) * (-0.028242141062729226))) + ((var12) * (0.16634667752431267))) + ((var13) * (0.047772685163074764))) + ((var14) * (0.3893079321588921))) + ((var15) * (0.3893079321588921))) + ((var16) * (0.0))) + ((var17) * (0.0))) + ((var18) * (0.3893079321588921))) + ((var19) * (0.3893079321588921)), ((((((((((((((((((((((((0.5566649875797668) + ((var20) * (-25.563066587228416))) + ((var21) * (-38.35628154976547))) + ((var22) * (-38.35628154976547))) + ((var23) * (-0.0))) + ((var24) * (-38.35628154976547))) + ((var25) * (-0.0))) + ((var26) * (-0.0))) + ((var27) * (-0.0))) + ((var28) * (-6.2260303727828745))) + ((var29) * (-18.42781911624364))) + ((var30) * (-0.14775026537286423))) + ((var31) * (-7.169755983020096))) + ((var32) * (-0.0))) + ((var1) * (12.612328267927264))) + ((var2) * (6.565812506955159))) + ((var3) * (0.0))) + ((var4) * (38.35628154976547))) + ((var5) * (0.0))) + ((var6) * (38.35628154976547))) + ((var7) * (0.0))) + ((var8) * (0.0))) + ((var9) * (38.35628154976547))) + ((var10) * (38.35628154976547))) + ((var11) * (0.0))} | ||
} |
Large diffs are not rendered by default.
Oops, something went wrong.
Oops, something went wrong.