Partager via


Convert to SVMLight

Important

Le support de Machine Learning Studio (classique) prend fin le 31 août 2024. Nous vous recommandons de passer à Azure Machine Learning avant cette date.

À partir du 1er décembre 2021, vous ne pourrez plus créer de nouvelles ressources Machine Learning Studio (classique). Jusqu’au 31 août 2024, vous pouvez continuer à utiliser les ressources Machine Learning Studio (classique) existantes.

La documentation ML Studio (classique) est en cours de retrait et ne sera probablement plus mise à jour.

Convertit les données d'entrée au format utilisé par l'infrastructure SVM-Light.

Catégorie : conversions de format de données

Notes

s’applique à: Machine Learning Studio (classic) uniquement

Des modules par glisser-déposer similaires sont disponibles dans Concepteur Azure Machine Learning.

Vue d’ensemble du module

cet article explique comment utiliser le module Convert to SVMLight dans Machine Learning Studio (classic) pour convertir vos jeux de données au format utilisé par SVMLight.

L'infrastructure SVM-Light a été développée par les chercheurs de l'université Cornell. La bibliothèque SVM-Light implémente la machine à vecteurs de support de Vapnik, mais le format a été adopté ailleurs et peut être utilisé pour de nombreuses tâches Machine Learning, y compris la classification et la régression.

Pour plus d’informations, consultez machine à vecteurs de support SVMLight.

Comment configurer la conversion en SVMLight

La conversion au format SVMLight implique la conversion de chaque cas en une ligne de données qui commence par l’étiquette, suivie de paires fonctionnalité-valeur exprimées sous la forme de nombres séparés par des points. Le processus de conversion n’identifie pas automatiquement les colonnes correctes. il est donc important que vous prépariez les colonnes de votre jeu de données avant d’effectuer la conversion. Pour plus d’informations, consultez préparation des données pour la conversion.

  1. Ajoutez le module Convert to SVMLight à votre expérience. vous pouvez trouver ce module dans la catégorie conversions de Format de données dans Machine Learning Studio (classic).

  2. Connecter le jeu de données ou la sortie que vous souhaitez convertir au format SVMLight.

  3. Exécutez l’expérience.

  4. Cliquez avec le bouton droit sur la sortie du module, sélectionnez Télécharger, puis enregistrez les données dans un fichier local en vue de les modifier ou de les réutiliser avec un programme qui prend en charge SVMLight.

Préparation des données pour la conversion

Pour illustrer le processus de conversion, cet exemple utilise le jeu de données du donateur sanguin dans Studio (classique).

Cet exemple de jeu de données a le format suivant, sous forme de tableau.

Moyenne Fréquence Financier Temps Classe
2 50 12 500 98 1
0 13 3250 28 1
1 1 4000 35 1
2 20 5 000 45 1
1 24 6000 77 0

Notez que la colonne d’étiquette, nommée [Class] dans ce DataSet, est la dernière colonne de la table. Toutefois, si vous convertissez le jeu de données en SVMLight sans indiquer d’abord que la colonne contient l’étiquette, la première colonne, [moyenne], est utilisée comme étiquette et la colonne [Class] est traitée comme une fonctionnalité :

2 1:50 2:12500 3:98 4:1
0 1:13 2:3250 3:28 4:1
1 1:16 2:4000 3:35 4:1

Pour vous assurer que les étiquettes sont générées correctement au début de la ligne pour chaque cas, vous devez ajouter deux instances du module modifier les métadonnées .

  1. Dans la première instance de modifier les métadonnées, sélectionnez la colonne étiquette ([classe]) et pour champs, sélectionnez étiquette.

  2. Dans la deuxième instance de modifier les métadonnées, sélectionnez toutes les colonnes de fonctionnalités dont vous avez besoin dans le fichier converti ([moyenne], [Frequency], [monétaire], [heure]) et pour les champs, sélectionnez fonctionnalités.

Une fois les colonnes identifiées correctement, vous pouvez exécuter le module Convert to SVMLight . Après la conversion, les premières lignes du jeu de données du donateur sanguin sont désormais au format suivant :

  • La valeur de l’étiquette précède chaque entrée, suivie des valeurs de [moyenne], [Frequency], [monétaire] et [Time], identifiées en tant que fonctionnalités 1, 2, 3 et 4 respectivement.

  • La valeur d’étiquette 0 dans la cinquième ligne a été convertie en-1. Cela est dû au fait que SVMLight prend uniquement en charge les étiquettes de classification binaire.

1 1:2 2:50 3:12500 4:98
1 1:0 2:13 3:3250 4:28
1 1:1 2:16 3:4000 4:35
1 1:2 2:20 3:5000 4:45
-1 1:1 2:24 3:6000 4:77

vous ne pouvez pas utiliser directement ces données de texte pour les modèles dans Azure ML, ni les visualiser. Toutefois, vous pouvez le télécharger sur un partage local.

Pendant que le fichier est ouvert, nous vous recommandons d’ajouter une ligne de commentaire, précédée de # , afin que vous puissiez ajouter des notes sur la source ou sur les noms des colonnes de la fonctionnalité d’origine.

Pour utiliser un fichier SVMLight dans vowpal Wabbit et apporter des modifications supplémentaires comme décrit ici : conversion au format Wabbit vowpal. Lorsque le fichier est prêt, téléchargez-le dans le stockage d’objets BLOB Azure et appelez-le directement à partir de l’un des modules vowpal Wabbit.

Exemples

Il n’existe aucun exemple dans le Azure ai Gallery: qui sont spécifiques à ce format.

Notes techniques

Cette section contient des détails, des conseils et des réponses aux questions fréquentes concernant l’implémentation.

Conseils d’utilisation

Les exécutables fournis dans le SVM-Light Framework requièrent un exemple de fichier et un fichier de modèle. Toutefois, ce module crée uniquement l'exemple de fichier. Vous devez créer le fichier de modèle séparément à l’aide des bibliothèques SVMLight.

L’exemple de fichier est le fichier qui contient les exemples d’apprentissage.

  • En-tête facultatif

    Les premières lignes peuvent contenir des commentaires. Les commentaires doivent être précédés du signe dièse (#).

    Le format de fichier généré par Convert to SVMLight ne crée pas d'en-tête. Vous pouvez modifier le fichier pour ajouter des commentaires, une liste de noms de colonnes, etc.

  • Données de formation

    Chaque cas se trouve sur sa propre ligne. Un cas se compose d’une valeur cible suivie d’une série d’index et des valeurs de fonctionnalités associées.

    La valeur de la réponse doit être 1 ou -1 pour la classification, ou un nombre pour la régression.

    La valeur cible et chacune des paires de valeur d'index sont séparées par un espace.

Exemple de données d’apprentissage

Le tableau suivant montre comment les valeurs des colonnes de la Two-Class jeu de données Iris sont converties en une représentation dans laquelle chaque colonne est représentée par un index, suivi d’un signe deux-points, puis de la valeur de cette colonne :

Jeu de données Iris Jeu de données Iris converti en SVMLight
1 6,3 2,9 5,6 1,8 1 1:6.3 2:2.9 3:5.6 4:1.8
0 4,8 3,4 1,6 0,2 -1 1:4.8 2:3.4 3:1.6 4:0,2
1 7,2 3,2 6 1,8 1 1:7.2 2:3,2 3:6 4:1.8

Notez que les noms des colonnes de fonctionnalités sont perdus lors de la conversion.

Utilisation de SVMLight pour préparer un fichier Wabbit vowpal

Le format SVMLight est semblable au format utilisé par vowpal Wabbit. Pour remplacer le fichier de sortie SVMLight par un format utilisable pour l’apprentissage d’un modèle vowpal Wabbit, ajoutez simplement un symbole de barre verticale entre l’étiquette et la liste des fonctionnalités.

Par exemple, comparez les lignes d’entrée suivantes :

Format vowpal Wabbit, y compris un commentaire facultatif

# features are [Recency], [Frequency], [Monetary], [Time]
1 | 1:2 2:50 3:12500 4:98
1 | 1:0 2:13 3:3250 4:28

Format SVMLight, y compris un commentaire facultatif

# features are [Recency], [Frequency], [Monetary], [Time]
1 1:2 2:50 3:12500 4:98
1 1:0 2:13 3:3250 4:28

Entrées attendues

Nom Type Description
Dataset Table de données Jeu de données d'entrée

Output

Nom Type Description
Jeu de données de résultats SvmLight Jeu de données de sortie

Voir aussi

Conversion des formats de données
Liste alphabétique des modules