PHP et Machine Learning

Le problème exposé dans ce sujet a été résolu.

Salut !

Je viens de découvrir : https://rubixml.com/

ça m’étonne de voir un système de machine learning en PHP au vu de la nature du langage qui est bloquant.

Comment cela fonctionne ? Un algo de KNN par exemple peut mettre plusieurs heures avant de finir de travailler, la page web va donc attendre 3h avant de fournir le résultat au client ? (Quid des timeouts ?)

Salut !

  1. Il est tout à fait possible de faire tourner un script PHP qui ne soit pas dans un projet web…
  2. Tu peux exécuter une tâche PHP de façon "asynchrone" avec des astuces comme Symfony Messenger
  3. Tu peux avoir entrainé un modèle à l’avance et faire uniquement une prédiction quand l’utilisateur charge la page web

Ca me semble des cas d’usage pouvant justifier ce type de librairie !

Hello,

Comme le dit @Nostalgique, en dehors du fait qu’il est tout à fait possible (mais pas forcément beaucoup utilisé) de faire des traitements après le retour d’une requête HTTP en PHP, l’objectif de cette librairie n’est pas d’entrainer un modèle lors du chargement d’une page Web.

Tu peux tout à fait entrainer ton modèle avec du PHP en mode script. C’est d’ailleurs ce que montre les démos de Rubix : leur script d’entrainement est dans un fichier train.php, qu’ils appellent en CLI php train.php. A la fin de l’entrainement tu enregistre le modèle avec la méthode save. Dans ce cas, pas de problème de timeout, le script prend le temps qu’il veut.

$estimator->save();

Ensuite, tu peux faire des prédictions depuis n’importe quel script PHP, et notamment une page web. Rubix récupère alors son modèle et fait des prédictions.

$estimator = PersistentModel::load(new Filesystem('housing.model'));
$predictions = $estimator->predict($dataset);
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte