Delen via


Machine Learning Studio-webservices (klassiek) implementeren die gebruikmaken van modules voor gegevensimport en gegevensexport

VAN TOEPASSING OP:Van toepassing op. Machine Learning Studio (klassiek) is niet van toepassing op.Azure Machine Learning

Belangrijk

De ondersteuning voor Azure Machine Learning-studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden om vóór die datum over te stappen naar Azure Machine Learning.

Vanaf 1 december 2021 kunt u geen nieuwe resources voor Azure Machine Learning-studio (klassiek) meer maken. Tot en met 31 augustus 2024 kunt u de bestaande resources van Azure Machine Learning-studio (klassiek) blijven gebruiken.

De documentatie van ML-studio (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet meer bijgewerkt.

Wanneer u een voorspellend experiment maakt, voegt u doorgaans invoer en uitvoer van een webservice toe. Wanneer u het experiment implementeert, kunnen consumenten gegevens van de webservice verzenden en ontvangen via de invoer en uitvoer. Voor sommige toepassingen zijn de gegevens van een consument mogelijk beschikbaar vanuit een gegevensfeed of bevinden ze zich al in een externe gegevensbron, zoals Azure Blob Storage. In deze gevallen hebben ze geen lees- en schrijfgegevens nodig met behulp van webservice-invoer en -uitvoer. Ze kunnen in plaats daarvan de Batch Execution Service (BES) gebruiken om gegevens uit de gegevensbron te lezen met behulp van een module Gegevens importeren en de scoreresultaten naar een andere gegevenslocatie schrijven met behulp van een module Gegevens exporteren.

De gegevensmodules Gegevens importeren en exporteren, kunnen gegevens lezen van en schrijven naar verschillende gegevenslocaties, zoals een web-URL via HTTP, een Hive-query, een database in Azure SQL Database, Azure Table Storage, Azure Blob Storage, een gegevensfeedaanbieding of een SQL Server-database.

In dit onderwerp wordt het voorbeeld 'Voorbeeld 5: Train, Test, Evaluate for Binary Classification: Adult Dataset' gebruikt en wordt ervan uitgegaan dat de gegevensset al is geladen in een Azure SQL tabel met de naam censusdata.

Het trainingsexperiment maken

Wanneer u het voorbeeld 5: Train, Test, Evaluate for Binary Classification: Adult Dataset opent, wordt de binaire classificatiegegevensset voor volwassen volkstelling gebruikt. En het experiment op het canvas ziet er ongeveer als volgt uit:

Initiële configuratie van het experiment.

De gegevens uit de Azure SQL tabel lezen:

  1. Verwijder de gegevenssetmodule.

  2. Typ importeren in het zoekvak voor onderdelen.

  3. Voeg in de lijst met resultaten een module Gegevens importeren toe aan het experimentcanvas.

  4. Koppel de uitvoer van de module Import Data aan de invoer van de module Clean Missing Data .

  5. Selecteer in het deelvenster Eigenschappen Azure SQL Database in de vervolgkeuzelijst Gegevensbron.

  6. Voer in de velden Databaseservernaam, Databasenaam, Gebruikersnaam en Wachtwoord de juiste gegevens voor uw database in.

  7. Voer in het veld Databasequery de volgende query in.

     select [age],
        [workclass],
        [fnlwgt],
        [education],
        [education-num],
        [marital-status],
        [occupation],
        [relationship],
        [race],
        [sex],
        [capital-gain],
        [capital-loss],
        [hours-per-week],
        [native-country],
        [income]
     from dbo.censusdata;
    
  8. Klik onder aan het experimentcanvas op Uitvoeren.

Het voorspellende experiment maken

Vervolgens stelt u het voorspellende experiment in van waaruit u uw webservice implementeert.

  1. Klik onder aan het experimentcanvas op Webservice instellen en selecteer Voorspellende webservice [Aanbevolen].
  2. Verwijder de modules Webservice-invoer en Webservice-uitvoer uit het voorspellende experiment.
  3. Typ exporteren in het zoekvak voor onderdelen.
  4. Voeg in de lijst met resultaten een module Gegevens exporteren toe aan het experimentcanvas.
  5. Koppel de uitvoer van de module Score Model aan de invoer van de module Gegevens exporteren .
  6. Selecteer in het deelvenster Eigenschappen Azure SQL Database in de vervolgkeuzelijst gegevensbestemming.
  7. Voer in de velden Databaseservernaam, Databasenaam, Servergebruikersaccountnaam en Wachtwoord voor servergebruikersaccount de juiste gegevens voor uw database in.
  8. Typ scored labels in de door komma's gescheiden lijst met kolommen die moeten worden opgeslagen .
  9. Typ dbo in het veld Gegevenstabelnaam. ScoredLabels. Als de tabel niet bestaat, wordt deze gemaakt wanneer het experiment wordt uitgevoerd of de webservice wordt aangeroepen.
  10. Typ ScoredLabels in het veld Door komma's gescheiden lijst met gegevenstabelkolommen .

Wanneer u een toepassing schrijft die de laatste webservice aanroept, kunt u tijdens runtime een andere invoerquery of doeltabel opgeven. Als u deze invoer en uitvoer wilt configureren, gebruikt u de functie Webserviceparameters om de eigenschap Gegevensbron van de importgegevensmodule en de gegevensdoeleigenschap Gegevensmodus exporteren in te stellen. Zie de webserviceparameters van Machine Learning Studio (klassiek) op de Cortana Intelligence- en Machine Learning-blog voor meer informatie over webserviceparameters.

De webserviceparameters configureren voor de importquery en de doeltabel:

  1. Klik in het eigenschappenvenster voor de module Gegevens importeren op het pictogram rechtsboven in het veld Databasequery en selecteer Als webserviceparameter instellen.
  2. Klik in het eigenschappenvenster voor de module Gegevens exporteren op het pictogram rechtsboven in het veld Gegevenstabelnaam en selecteer De parameter Instellen als webservice.
  3. Klik onder aan het deelvenster Eigenschappen van de module Gegevens exporteren in de sectie Webserviceparameters op Databasequery en wijzig de naam van de query.
  4. Klik op De naam van de gegevenstabel en wijzig de naam van de tabel.

Wanneer u klaar bent, ziet uw experiment er ongeveer als volgt uit:

Laatste blik van experiment.

U kunt het experiment nu implementeren als een webservice.

De webservice implementeren

U kunt implementeren in een klassieke of nieuwe webservice.

Een klassieke webservice implementeren

Als u wilt implementeren als een klassieke webservice en een toepassing wilt maken om deze te gebruiken:

  1. Klik onder aan het experimentcanvas op Uitvoeren.

  2. Wanneer de uitvoering is voltooid, klikt u op Webservice implementeren en selecteert u Webservice implementeren [klassiek].

  3. Zoek uw API-sleutel op het webservicedashboard. Kopieer en sla deze op om later te gebruiken.

  4. Klik in de tabel Standaardeindpunt op de koppeling Batch-uitvoering om de API Help-pagina te openen.

  5. Maak in Visual Studio een C#-consoletoepassing: New>Project>Visual C#>Windows Classic Desktop>Console App (.NET Framework).

  6. Zoek op de HELP-pagina van de API de sectie Voorbeeldcode onder aan de pagina.

  7. Kopieer en plak de C#-voorbeeldcode in het bestand Program.cs en verwijder alle verwijzingen naar de blobopslag.

  8. Werk de waarde van de apiKey-variabele bij met de API-sleutel die u eerder hebt opgeslagen.

  9. Zoek de aanvraagdeclaratie en werk de waarden bij van webserviceparameters die worden doorgegeven aan de modules Gegevens importeren en Gegevens exporteren . In dit geval gebruikt u de oorspronkelijke query, maar definieert u een nieuwe tabelnaam.

    var request = new BatchExecutionRequest()
    {
        GlobalParameters = new Dictionary<string, string>() {
            { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" },
            { "Table", "dbo.ScoredTable2" },
        }
    };
    
  10. Voer de toepassing uit.

Na voltooiing van de uitvoering wordt een nieuwe tabel toegevoegd aan de database met de scoreresultaten.

Een nieuwe webservice implementeren

Notitie

Als u een nieuwe webservice wilt implementeren, moet u over voldoende machtigingen beschikken in het abonnement waarop u de webservice implementeert. Zie Een webservice beheren met behulp van de Machine Learning Web Services-portal voor meer informatie.

Als u wilt implementeren als een nieuwe webservice en een toepassing wilt maken om deze te gebruiken:

  1. Klik onder aan het experimentcanvas op Uitvoeren.

  2. Wanneer de uitvoering is voltooid, klikt u op Webservice implementeren en selecteert u Webservice implementeren [Nieuw].

  3. Voer op de pagina Experiment implementeren een naam in voor uw webservice en selecteer een prijsplan en klik vervolgens op Implementeren.

  4. Klik op de pagina Snelstart op Verbruiken.

  5. Klik in de sectie Voorbeeldcode op Batch.

  6. Maak in Visual Studio een C#-consoletoepassing: New>Project>Visual C#>Windows Classic Desktop>Console App (.NET Framework).

  7. Kopieer en plak de C#-voorbeeldcode in het bestand Program.cs.

  8. Werk de waarde van de apiKey-variabele bij met de primaire sleutel in de sectie Basisverbruiksgegevens .

  9. Zoek de declaratie scoreRequest en werk de waarden van webserviceparameters bij die worden doorgegeven aan de modules Gegevens importeren en Gegevens exporteren . In dit geval gebruikt u de oorspronkelijke query, maar definieert u een nieuwe tabelnaam.

    var scoreRequest = new
    {
        Inputs = new Dictionary<string, StringTable>()
        {
        },
        GlobalParameters = new Dictionary<string, string>() {
            { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" },
            { "Table", "dbo.ScoredTable3" },
        }
    };
    
  10. Voer de toepassing uit.