国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison développement back-end tutoriel php Apprentissage automatique en PHP?: créez un classificateur d'actualités à l'aide de Rubix ML

Apprentissage automatique en PHP?: créez un classificateur d'actualités à l'aide de Rubix ML

Nov 03, 2024 am 03:33 AM

Machine Learning in PHP: Build a News Classifier Using Rubix ML

Introduction

L'apprentissage automatique est omniprésent?: il recommande des films, marque des images et classe même désormais des articles d'actualité. Imaginez si vous pouviez faire cela en PHP?! Avec Rubix ML, vous pouvez apporter la puissance du machine learning à PHP d'une manière simple et accessible. Ce guide vous guidera dans la création d'un classificateur d'actualités simple qui trie les articles en catégories telles que ? Sports ? ou ? Technologie ?. à la fin, vous disposerez d'un classificateur fonctionnel capable de prédire les catégories de nouveaux articles en fonction de leur contenu.

Ce projet est parfait pour les débutants qui souhaitent se lancer dans l'apprentissage automatique à l'aide de PHP, et vous pouvez suivre le code complet sur GitHub.

Table des matières

  1. Qu'est-ce que Rubix ML??
  2. Mise en place du projet
  3. Création de la classe de classification des actualités
  4. Formation du modèle
  5. Prédire de nouveaux échantillons
  6. Pensées finales

Qu’est-ce que Rubix ML??

Rubix ML est une bibliothèque d'apprentissage automatique pour PHP qui intègre les outils et algorithmes de ML dans un environnement compatible PHP. Que vous travailliez sur la classification, la régression, le clustering ou même le traitement du langage naturel, Rubix ML est là pour vous. Il vous permet de charger et de prétraiter des données, d'entra?ner des modèles et d'évaluer les performances, le tout en PHP.

Rubix ML prend en charge un large éventail de taches d'apprentissage automatique, telles que?:

  • Classification?: catégoriser les données, comme étiqueter les e-mails comme spam ou non spam.
  • Régression?: Prédire des valeurs continues, comme les prix de l'immobilier.
  • Clustering?: regrouper des données sans étiquettes, comme rechercher des segments de clientèle.
  • Traitement du langage naturel (NLP)?: Travailler avec des données textuelles, telles que leur tokenisation et leur transformation en formats utilisables pour le ML.

Voyons comment utiliser Rubix ML pour créer un classificateur d'actualités simple en PHP?!

Mise en place du projet

Nous allons commencer par mettre en place un nouveau projet PHP avec Rubix ML et configurer le chargement automatique.

étape 1?: initialiser le répertoire du projet

Créez un nouveau répertoire de projet et accédez-y?:

mkdir NewsClassifier
cd NewsClassifier

étape 2?: Installez Rubix ML avec Composer

Assurez-vous que Composer est installé, puis ajoutez Rubix ML à votre projet en exécutant?:

composer require rubix/ml

étape 3?: Configurer le chargement automatique dans composer.json

Pour charger automatiquement les classes depuis le répertoire src de notre projet, ouvrez ou créez un fichier composer.json et ajoutez la configuration suivante?:

{
    "autoload": {
        "psr-4": {
            "NewsClassifier\": "src/"
        }
    },
    "require": {
        "rubix/ml": "^2.5"
    }
}

Cela indique à Composer de charger automatiquement toutes les classes du dossier src sous l'espace de noms NewsClassifier.

étape 4?:?Exécutez le vidage du chargement automatique du Composer

Après avoir ajouté la configuration de chargement automatique, exécutez la commande suivante pour régénérer le chargeur automatique de Composer?:

mkdir NewsClassifier
cd NewsClassifier

étape 5?: Structure des répertoires

Votre répertoire de projet devrait ressembler à ceci?:

composer require rubix/ml
  • src/?: Contient vos scripts PHP.
  • stockage/?: Où le modèle entra?né sera enregistré.
  • vendor/?: contient les dépendances installées par Composer.

Création de la classe de classification des actualités

Dans src/, créez un fichier appelé Classification.php. Ce fichier contiendra les méthodes d'entra?nement du modèle et de prédiction des catégories d'actualités.

{
    "autoload": {
        "psr-4": {
            "NewsClassifier\": "src/"
        }
    },
    "require": {
        "rubix/ml": "^2.5"
    }
}

Cette classe de classification contient des méthodes pour?:

  • Train?: créez et entra?nez un modèle basé sur un pipeline.
  • Enregistrer le modèle?: enregistrez le modèle entra?né dans le chemin spécifié.
  • Prédire?: chargez le modèle enregistré et prédisez la catégorie pour les nouveaux échantillons.

Entra?ner le modèle

Créez un script appelé train.php dans src/ pour entra?ner le modèle.

composer dump-autoload

Exécutez ce script pour entra?ner le modèle?:

NewsClassifier/
├── src/
│   ├── Classification.php
│   └── train.php
├── storage/
├── vendor/
├── composer.json
└── composer.lock

En cas de succès, vous verrez?:

<?php

namespace NewsClassifier;

use Rubix\ML\Classifiers\KNearestNeighbors;
use Rubix\ML\Datasets\Labeled;
use Rubix\ML\Datasets\Unlabeled;
use Rubix\ML\PersistentModel;
use Rubix\ML\Pipeline;
use Rubix\ML\Tokenizers\Word;
use Rubix\ML\Transformers\TfIdfTransformer;
use Rubix\ML\Transformers\WordCountVectorizer;
use Rubix\ML\Persisters\Filesystem;

class Classification
{
    private $modelPath;

    public function __construct($modelPath)
    {
        $this->modelPath = $modelPath;
    }

    public function train()
    {
        // Sample data and corresponding labels
        $samples = [
            ['The team played an amazing game of soccer'],
            ['The new programming language has been released'],
            ['The match between the two teams was incredible'],
            ['The new tech gadget has been launched'],
        ];

        $labels = [
            'sports',
            'technology',
            'sports',
            'technology',
        ];

        // Create a labeled dataset
        $dataset = new Labeled($samples, $labels);

        // Set up the pipeline with a text transformer and K-Nearest Neighbors classifier
        $estimator = new Pipeline([
            new WordCountVectorizer(10000, 1, 1, new Word()),
            new TfIdfTransformer(),
        ], new KNearestNeighbors(4));

        // Train the model
        $estimator->train($dataset);

        // Save the model
        $this->saveModel($estimator);

        echo "Training completed and model saved.\n";
    }

    private function saveModel($estimator)
    {
        $persister = new Filesystem($this->modelPath);
        $model = new PersistentModel($estimator, $persister);
        $model->save();
    }

    public function predict(array $samples)
    {
        // Load the saved model
        $persister = new Filesystem($this->modelPath);
        $model = PersistentModel::load($persister);

        // Predict categories for new samples
        $dataset = new Unlabeled($samples);
        return $model->predict($dataset);
    }
}

Prédire de nouveaux échantillons

Créez un autre script, prédire.php, dans src/ pour classer les nouveaux articles en fonction du modèle entra?né.

<?php

require __DIR__ . '/../vendor/autoload.php';

use NewsClassifier\Classification;

// Define the model path
$modelPath = __DIR__ . '/../storage/model.rbx';

// Initialize the Classification object
$classifier = new Classification($modelPath);

// Train the model and save it
$classifier->train();

Exécutez le script de prédiction pour classer les échantillons?:

php src/train.php

La sortie doit afficher chaque exemple de texte avec sa catégorie prédite.

Pensées finales

Avec ce guide, vous avez réussi à créer un classificateur d'actualités simple en PHP à l'aide de Rubix ML?! Cela démontre à quel point PHP peut être plus polyvalent que vous ne le pensez, en intégrant des capacités d'apprentissage automatique pour des taches telles que la classification de texte, les systèmes de recommandation, etc. Le code complet de ce projet est disponible sur GitHub.

Expérimentez avec différents algorithmes ou données pour étendre le classificateur. Qui aurait cru que PHP pouvait faire du machine learning ? Maintenant c’est fait.
Bon codage?!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment mettre en ?uvre l'authentification et l'autorisation dans PHP? Comment mettre en ?uvre l'authentification et l'autorisation dans PHP? Jun 20, 2025 am 01:03 AM

ToseCurelyHandleAuthentication andAuthorizationInPhp, suivitheSesteps: 1.AlwayShashPasswordSwithPassword_Hash () etverifyusingPassword_verify (), usePreparedStatementStopReventsQLendiject, andstoreSerDatain $ _SessionAfterLogin.2

Comment pouvez-vous gérer les téléchargements de fichiers en toute sécurité dans PHP? Comment pouvez-vous gérer les téléchargements de fichiers en toute sécurité dans PHP? Jun 19, 2025 am 01:05 AM

Pour gérer en toute sécurité les téléchargements de fichiers dans PHP, le noyau consiste à vérifier les types de fichiers, à renommer les fichiers et à restreindre les autorisations. 1. Utilisez finfo_file () pour vérifier le type de mime réel, et seuls des types spécifiques tels que l'image / jpeg sont autorisés; 2. Utilisez Uniqid () pour générer des noms de fichiers aléatoires et les stocker dans le répertoire racine non Web; 3. Limiter la taille du fichier via les formulaires PHP.ini et HTML et définir les autorisations de répertoire sur 0755; 4. Utilisez Clamav pour scanner les logiciels malveillants pour améliorer la sécurité. Ces étapes empêchent efficacement les vulnérabilités de sécurité et garantissent que le processus de téléchargement de fichiers est s?r et fiable.

Quelles sont les différences entre == (comparaison lache) et === (comparaison stricte) en PHP? Quelles sont les différences entre == (comparaison lache) et === (comparaison stricte) en PHP? Jun 19, 2025 am 01:07 AM

En PHP, la principale différence entre == et == est la rigueur de la vérification des types. == La conversion de type sera effectuée avant la comparaison, par exemple, 5 == "5" Renvoie True, et === Demande que la valeur et le type soient les mêmes avant que True sera renvoyé, par exemple, 5 === "5" Renvoie False. Dans les scénarios d'utilisation, === est plus sécurisé et doit être utilisé en premier, et == n'est utilisé que lorsque la conversion de type est requise.

Comment effectuer des opérations arithmétiques en php (, -, *, /,%)? Comment effectuer des opérations arithmétiques en php (, -, *, /,%)? Jun 19, 2025 pm 05:13 PM

Les méthodes d'utilisation des opérations mathématiques de base en PHP sont les suivantes: 1. Les signes d'addition prennent en charge les entiers et les nombres à virgule flottante, et peuvent également être utilisés pour les variables. Les numéros de cha?ne seront automatiquement convertis mais non recommandés en dépendances; 2. Les signes de soustraction utilisent - les signes, les variables sont les mêmes et la conversion de type est également applicable; 3. Les panneaux de multiplication utilisent * les panneaux, qui conviennent aux nombres et aux cha?nes similaires; 4. La division utilise / signes, qui doit éviter de diviser par zéro, et noter que le résultat peut être des nombres à virgule flottante; 5. Prendre les signes du module peut être utilisé pour juger des nombres impairs et uniformes, et lors du traitement des nombres négatifs, les signes restants sont cohérents avec le dividende. La clé pour utiliser correctement ces opérateurs est de s'assurer que les types de données sont clairs et que la situation limite est bien gérée.

Comment pouvez-vous interagir avec les bases de données NoSQL (par exemple, MongoDB, redis) de PHP? Comment pouvez-vous interagir avec les bases de données NoSQL (par exemple, MongoDB, redis) de PHP? Jun 19, 2025 am 01:07 AM

Oui, PHP peut interagir avec les bases de données NoSQL comme MongoDB et Redis à travers des extensions ou des bibliothèques spécifiques. Tout d'abord, utilisez le pilote MongoDBPHP (installé via PECL ou Composer) pour créer des instances clients et faire fonctionner des bases de données et des collections, en prenant en charge l'insertion, la requête, l'agrégation et d'autres opérations; Deuxièmement, utilisez la bibliothèque Predis ou l'extension PHPREDIS pour vous connecter à Redis, effectuer des paramètres et des acquisitions de valeur clé, et recommander PHPredis pour des scénarios à haute performance, tandis que Predis est pratique pour un déploiement rapide; Les deux conviennent aux environnements de production et sont bien documentés.

Comment rester à jour avec les derniers développements PHP et meilleures pratiques? Comment rester à jour avec les derniers développements PHP et meilleures pratiques? Jun 23, 2025 am 12:56 AM

TostayCurrentwithPhpDevelopments andBestPractices, suiventyewnewsources likephp.netandphpweekly, engagewithcommunitiesonforumums et conférences, keeptoolingupdated etgradualadoptnewfeatures, etreadorontruttetoopensourceprojects.

Qu'est-ce que PHP et pourquoi est-il utilisé pour le développement Web? Qu'est-ce que PHP et pourquoi est-il utilisé pour le développement Web? Jun 23, 2025 am 12:55 AM

PhpBecamepopularforwebDevelopmentDuetoitSeaseOflearning, Samoussentegration withhtml, widespreadhostingsupport, andalargecosystemysteclustingframeworkslikeLaravelandcmsplateformeslikewordpress.itexcelSinlingFormSubMissions, ManagetingSeSeSessions, interactif, interactif

Comment définir le fuseau horaire PHP? Comment définir le fuseau horaire PHP? Jun 25, 2025 am 01:00 AM

Tosetherighttimezoneinphp, usedate_default_timezone_set () Fonctionnellestartofyourscriptwithavalididentifiersuchas'america / new_york'.1.usedate_default_timezone_set () beforeanydate / timefunctions.20

See all articles