Esempio n. 1
0
function getGoodnessOfFit($x, $y)
{
    $bestFit = linear_regression($x, $y);
    $meanY = array_sum($y) / count($y);
    $SSreg = $SStot = 0.0;
    foreach ($x as $xKey => $xValue) {
        $bestFitY = getYPointFromSlopeIntersect($bestFit['slope'], $bestFit['intercept'], $xValue);
        $SSreg += ($y[$xKey] - $bestFitY) * ($y[$xKey] - $bestFitY);
        $SStot += ($y[$xKey] - $meanY) * ($y[$xKey] - $meanY);
    }
    if ($SStot == 0.0 || $SSreg == $SStot) {
        return 1;
    }
    return 1 - $SSreg / $SStot;
}
Esempio n. 2
0
 public function score_prediction_extra_curricular($subject = '')
 {
     $this->load->library('Data_lib');
     if (!$this->data_lib->auth()) {
         redirect(base_url('login'));
     }
     $data['head'] = $this->head;
     $data['foot'] = $this->foot;
     $data['left'] = $this->left;
     $data['externalScores'] = $this->data_lib->score_prediction_extra_curricular_external($subject);
     $data['extraScores'] = $this->data_lib->score_prediction_extra_curricular_scores();
     $external = array();
     $extra = array();
     foreach ($data['externalScores'] as $key => $value) {
         array_push($external, $value['externalAverage']);
     }
     foreach ($data['extraScores'] as $key => $value) {
         array_push($extra, $value['extraAverage']);
     }
     $values = linear_regression($external, $extra);
     $m = $values['m'];
     $c = $values['b'];
     $data['m'] = $m;
     $data['c'] = $c;
     $this->load->view('score_prediction_extra_curricular', $data);
 }