]> git.sesse.net Git - wloh/blobdiff - www/index.pl
Train one model (with its own aux parms) per locale.
[wloh] / www / index.pl
index 916af5c55349cb1b5baa583d1aa584c158c64e27..7546d658ac8a4b5bf14bf8a30b8e46d408c4092b 100755 (executable)
@@ -194,7 +194,7 @@ sub write_parms_to_file {
        for my $id1 (keys %players) {
                for my $id2 (keys %players) {
                        if ($id1 == $id2) {
-                               printf MCCALC "%f ", ($used_cov->{$id1}{$id2} // $aux_parms->{-3});
+                               printf MCCALC "%f ", ($used_cov->{$id1}{$id2} // $aux_parms->{'rating_prior_stddev'});
                        } else {
                                printf MCCALC "%f ", ($used_cov->{$id1}{$id2} // 0.0);
                        }
@@ -245,7 +245,7 @@ EOF
                chomp;
                my @x = split /\s+/;
                my $id = $x[0];
-               my $player = sprintf "%s (%.0f ± %.0f)", $players{$id}, ($ratings{$id} // 500.0), ($ratings_stddev{$id} // $aux_parms->{-3});
+               my $player = sprintf "%s (%.0f ± %.0f)", $players{$id}, ($ratings{$id} // 500.0), ($ratings_stddev{$id} // $aux_parms->{'rating_prior_stddev'});
                $prob{$player} = [ @x[1..$#x] ];
        }
        close MCCALC;
@@ -313,17 +313,6 @@ sub find_avg_rating {
        return $sum_rating / scalar keys %$ratings;
 }
 
-sub get_auxillary_parameters {
-       my $q = $dbh->prepare('SELECT * FROM ratings WHERE id < 0');
-       $q->execute;
-
-       my $aux_parms = {};
-       while (my $ref = $q->fetchrow_hashref) {
-               $aux_parms->{$ref->{'id'}} = $ref->{'rating'};
-       }
-       return $aux_parms;
-}
-
 sub print_header {
        my ($cgi, $title) = @_;
        print $cgi->header(-type=>'text/html; charset=utf-8', -expires=>'now');
@@ -348,15 +337,15 @@ sub print_footer {
 EOF
 }
 
-my $aux_parms = get_auxillary_parameters($dbh);
-my $match_stddev = $aux_parms->{-2} * sqrt(2.0);
+my $locale = wloh_common::get_locale($cgi);
+my $aux_parms = wloh_common::get_auxillary_parameters($dbh, $locale);
+my $match_stddev = $aux_parms->{'score_stddev'} * sqrt(2.0);
 
 my $division = $cgi->param('divisjon') // -1;
 my $subdivision = $cgi->param('avdeling') // -1;
 my $match_player = $cgi->param('spiller');
 my $match_position = $cgi->param('posisjon');
 
-my $locale = wloh_common::get_locale($cgi);
 my $season = wloh_common::get_max_season($dbh, $locale);
 die "Nonexistent locale!" if (!defined($season));