blog sur le développement web, jquery,css3, Magento, Symphony, php et bien d'autres choses

Articles tagués ‘machine learning’

PHP : machine learning, algorithme aléatoire pondéré et Router urls ou comment rediriger vers des urls en fonction de leur poids

php router url

pour ceux qui désirent faire un router url en fonction d’une configuration par poids par URL voici un script qui pourra vous être utile.

admettons que vous ayez 8 URLS de page de vente sur lesquelles rediriger du trafic et certaines vous rapportent plus que d’autres, vous pouvez faire en sorte de rediriger plus souvent sur l’une ou l’autre d’entre elles en leur affectant un poids, plus le poids est élevé plus la page sera utilisée comme redirection.

l’algorithme utilisé pour ce script est très proche de l’algorithme de sélection aléatoire pondérée.


        // plus le poids est élevé plus l'url va ressortir
        $arrayRules = array(
         'http://url1.com' => 10,
         'http://url2.com' => 20,
         'http://url3.com' => 30,
         'http://url4.com' =>; 90,
        );

        $arSite = array_keys($arrayRules);
        $arRules = array_values($arrayRules);

        $total = array_sum($arrayRules);
        $rdNumber = rand(0, $total);

        $seek = 0;
        $resultat = 0;

        for ($i = 0; $i < count($arRules); $i++) {

            if ($rdNumber <= $seek + $arRules[$i]) {
                $resultat = $i;
                break;
            }
            $seek += $arRules[$i];
        }

        // retourne l'url sur laquelle rediriger
        return $arSite[$resultat];

une optimisation intéressante de ce script serait de mettre en place un système de « machine learning » pour ne plus avoir a configurer les poids a la main mais de manière automatique en s’appuyant sur les statistiques de performance des pages en question.

Publicités