I cannot re-use a workable code in 2021 to predict from LbfgsMaximumEntropy taining

DJamin 386 Points de réputation
2024-10-04T12:05:54.91+00:00

Hello, I am using :
Microsoft Visual Studio Professional 2022 (64-bit) - LTSC 17.4 / Version 17.4.21

on Windows 10 Entreprise LTSC version 21H2

I was used to train and use the result of the training to make preditions with ML.NET for LbfgsMaximumEntropy . At that time I have found examples on your website to build my code. It is reading a csv file of 3 columns : CatSWM (string : this could be empty) / ArticleFR (string : always filled) / IDCategorie (float : this is the Label column to predict).

The code is in 2 parts : TrainCategorie and PredictCategorie.

It was workable in 2021 with decent percentage of success.

I am using again this code with my current Visual Studio setup shown above (since then I have updated Visual Studio).

The training works technically, but when I run the Predict level (it compiles), the code complains at line 223 :

System.ArgumentOutOfRangeException: 'Could not find input column 'Label'

Nom du paramètre : inputSchema'

It is strange because I have not changed the code and not the input file columns since 2021 ...

Can you explain me to understand what is happening please ?

I have attached a txt Predict.txt file containing the 2 codes and the template csv data file used.

I have not provided the 2 zip files used for Predict :

data_preparation_pipeline_categorie.zip

the model_lbfgs.zip

but you can easily reproduce them with the Train piece of code in the txt file attached.

Best regards.

Visual Studio
Visual Studio
Famille de suites Microsoft d’outils de développement intégrés pour la création d’applications pour Windows, le web et les appareils mobiles.
23 questions
0 commentaires Aucun commentaire
{count} votes

2 réponses

Trier par : Le plus utile
  1. Nina Kalenderska (Concentrix International) 540 Points de réputation Fournisseur Microsoft
    2024-10-07T13:15:31.8033333+00:00

    Bonjour,

    Merci d'avoir sollicité la communauté Q&A France.

    System.ArgumentOutOfRangeException avec le message "Could not find input column 'Label'" lors de l'utilisation de ML.NET se produit généralement lorsque la colonne d'étiquette spécifiée est introuvable dans le schéma de données d'entrée.

    Voici quelques étapes que vous pouvez suivre :

    • Vérifiez les noms de colonne : assurez-vous que le nom de colonne « Label » existe dans vos données d'entrée. Les noms de colonne sont sensibles à la casse, assurez-vous donc que la casse correspond exactement.
    • Vérifier le schéma de données : vérifiez que le schéma de données chargé dans le pipeline ML.NET inclut la colonne « Label ». Vous pouvez prévisualiser le schéma de données à l’aide de la méthode Preview pour vérifier les colonnes.
    • Spécifier explicitement la colonne d’étiquette : si le nom de colonne d’étiquette par défaut « Label » n’est pas présent, vous pouvez spécifier le nom de colonne d’étiquette correct dans votre configuration de pipeline.
    • Chargement des données: assurez-vous que le processus de chargement des données mappe correctement les colonnes d’entrée. Si vous chargez des données à partir d’un fichier ou d’une base de données, revérifiez les mappages de colonnes.

    Voici un article qui peut être utile:

    Could not find label column 'Label'

    Cordialement,

    Nina

    1 personne a trouvé cette réponse utile.

  2. DJamin 386 Points de réputation
    2024-11-05T14:23:59.1733333+00:00

    Je ne sais pas si mettre un commentaire permet de continuer le topic. Je fais donc une autre réponse. Je suis toujours coincé et cela ne m'a pas aidé à comprendre pourquoi un code fonctionnel ne fonctionne plus lorsque l'on n'a rien changé !

    0 commentaires Aucun commentaire

Votre réponse

Les réponses peuvent être marquées comme Réponses acceptées par l’auteur de la question, ce qui permet aux utilisateurs de connaître la réponse qui a résolu le problème de l’auteur.