Metagegevens bewerken

Meta gegevens die zijn gekoppeld aan kolommen in een gegevensset bewerken

Categorie: gegevens transformatie/-bewerking

Notitie

Van toepassing op : machine learning Studio (klassiek)

Deze inhoud is alleen van toepassing op Studio (klassiek). Er zijn Vergelijk bare modules voor slepen en neerzetten toegevoegd aan Azure Machine Learning Designer. In dit artikel vindt u meer informatie over de twee versies.

Module overzicht

In dit artikel wordt beschreven hoe u de module meta gegevens bewerken in azure machine learning Studio (klassiek) kunt gebruiken voor het wijzigen van meta gegevens die zijn gekoppeld aan kolommen in een gegevensset. De waarden en de gegevens typen in de gegevensset worden niet daad werkelijk gewijzigd. welke wijzigingen zijn de meta gegevens in Azure Machine Learning die downstream-onderdelen vertelt hoe de kolom moet worden gebruikt.

Veelvoorkomende meta gegevens wijzigingen kunnen het volgende omvatten:

  • Booleaanse of numerieke kolommen behandelen als categorische waarden

  • Geeft aan welke kolom het klassen label bevat of de waarden die u wilt categoriseren of voors pellen

  • Kolommen markeren als onderdelen

  • Datum/tijd-waarden wijzigen in een numerieke waarde, of andersom

  • Namen van kolommen wijzigen

Gebruik bewerken van meta gegevens elke keer dat u de definitie van een kolom moet wijzigen, meestal om te voldoen aan de vereisten voor een downstream-module. Sommige modules kunnen bijvoorbeeld alleen werken met specifieke gegevens typen of markeringen vereisen voor de kolommen, zoals IsFeature of IsCategorical .

Nadat u de vereiste bewerking hebt uitgevoerd, kunt u de meta gegevens herstellen naar de oorspronkelijke staat.

Meta gegevens bewerken configureren

  1. Voeg in Azure Machine Learning Studio (klassiek) de module meta gegevens bewerken toe aan uw experiment en verbind de gegevensset die u wilt bijwerken. U kunt het vinden onder gegevens transformatiein de categorie bewerken .

  2. Klik op de kolom kiezer starten en kies de kolom of set kolommen waarmee u wilt werken. U kunt kolommen afzonderlijk, op naam of index kiezen of u kunt een groep kolommen kiezen op type.

    Tip

    Hebt u hulp nodig bij het gebruik van kolom indexen? Zie de sectie technische opmerkingen .

  3. Selecteer de optie gegevens type als u een ander gegevens type aan de geselecteerde kolommen wilt toewijzen. Het kan nodig zijn om het gegevens type voor bepaalde bewerkingen te wijzigen: als uw bron-gegevensset bijvoorbeeld getallen bevat die als tekst worden verwerkt, moet u deze wijzigen in een numeriek gegevens type voordat u wiskundige bewerkingen kunt gebruiken.

    • De ondersteunde gegevens typen zijn String , Integer ,,, Floating point Boolean DateTime en TimeSpan .

    • Als er meerdere kolommen zijn geselecteerd, moet u de meta gegevens wijzigingen Toep assen op alle geselecteerde kolommen. Stel bijvoorbeeld dat u 2-3 numerieke kolommen kiest. U kunt deze allemaal wijzigen in een teken reeks gegevens type en ze in één bewerking een andere naam geven. U kunt echter niet één kolom wijzigen in een teken reeks gegevens type en een andere kolom van een float-waarde tot een geheel getal.

    • Als u geen nieuw gegevens type opgeeft, worden de meta gegevens van de kolom ongewijzigd.

    • Wijzigingen van het gegevens type zijn alleen van invloed op de meta gegevens die zijn gekoppeld aan de gegevensset en hoe de gegevens worden verwerkt in downstream-bewerkingen. De werkelijke kolom waarden worden alleen gewijzigd als u een andere bewerking (zoals afronden) op de kolom uitvoert. U kunt het oorspronkelijke gegevens type op elk gewenst moment herstellen met behulp van meta gegevens bewerken om het kolom gegevens type opnieuw in te stellen.

    Notitie

    Als u een wille keurig type getal wijzigt in het type datum/tijd , laat u het veld datum in notatie leeg. Op dit moment is het niet mogelijk om de indeling van de doel gegevens op te geven.

Azure Machine Learning kunt datums converteren naar getallen of getallen naar datums als de getallen compatibel zijn met een van de ondersteunde .NET DateTime-objecten. Zie de sectie met technische opmerkingen voor meer informatie.

  1. Selecteer de optie categorische om op te geven dat de waarden in de geselecteerde kolommen als categorieën moeten worden behandeld.

    U hebt bijvoorbeeld een kolom met de getallen 0, 1 en 2, maar u weet dat de getallen eigenlijk "rook", "niet-rook" en "onbekend" betekenen. In dat geval kunt u, door de kolom als categorische te markeren, ervoor zorgen dat de waarden niet worden gebruikt in numerieke berekeningen, alleen om gegevens te groeperen.

  2. Gebruik de optie velden als u de manier wilt wijzigen waarop Azure machine learning de gegevens in een model gebruikt.

    • Functie: gebruik deze optie om een kolom te markeren als een functie, voor gebruik met modules die alleen op functie Kolommen werken. Standaard worden alle kolommen als onderdelen behandeld.

    • Label: gebruik deze optie om het label (ook wel het voorspelbaar kenmerk of de doel variabele) te markeren. Voor veel modules moet ten minste één (en slechts één) label kolom aanwezig zijn in de gegevensset.

      In veel gevallen kan Azure Machine Learning afleiden dat een kolom een klassen label bevat, maar door deze meta gegevens in te stellen, kunt u ervoor zorgen dat de kolom correct wordt geïdentificeerd. Als u deze optie instelt, worden er geen gegevens waarden gewijzigd, maar alleen de manier waarop sommige machine learning algoritmen de gegevens verwerken.

    • Gewicht: gebruik deze optie met numerieke gegevens om aan te geven dat kolom waarden gewichten voor gebruik in machine learning Score-of trainings bewerkingen worden aangeduid. Er kan slechts één kolom Weight aanwezig zijn in een gegevensset en de kolom moet numeriek zijn.

    Tip

    Hebt u gegevens die niet in deze categorieën passen? Uw gegevensset kan bijvoorbeeld waarden bevatten zoals unieke id's die niet nuttig zijn als variabelen. Soms kunnen Id's problemen veroorzaken bij gebruik in een model.

    Gelukkig ' onder de kaften ' Azure Machine Learning al uw gegevens behouden, zodat u deze kolommen niet hoeft te verwijderen uit de gegevensset. Als u bewerkingen wilt uitvoeren op een bepaalde set kolommen, verwijdert u alleen tijdelijk alle andere kolommen met de module kolommen in gegevensset selecteren . Later kunt u de kolommen weer samen voegen met de gegevensset met behulp van de module kolommen toevoegen .

  3. Gebruik de volgende opties om eerdere selecties te wissen en meta gegevens te herstellen naar de standaard waarden.

    • Functie wissen: gebruik deze optie om de functie vlag te verwijderen.

      Omdat alle kolommen eerst worden behandeld als functies, moet u deze optie mogelijk gebruiken om te voor komen dat numerieke kolommen worden beschouwd als variabelen, voor modules die wiskundige bewerkingen uitvoeren.

    • Label wissen: gebruik deze optie om de meta gegevens van het Label te verwijderen uit de opgegeven kolom.

    • Score wissen: gebruik deze optie om de meta gegevens van de Score te verwijderen uit de opgegeven kolom.

      Momenteel is de mogelijkheid om een kolom expliciet te markeren als score niet beschikbaar is in Azure Machine Learning. Een aantal bewerkingen resulteert echter in een kolom die intern als score wordt gemarkeerd. Een aangepaste R-module kan ook Score waarden uitvoeren.

    • Gewicht wissen: gebruik deze optie om de Weight -meta gegevens uit de opgegeven kolom te verwijderen.

  4. Voor nieuwe kolom namentypt u de nieuwe naam van de geselecteerde kolom of kolommen.

    • Kolom namen mogen alleen tekens gebruiken die worden ondersteund door de UTF-8-code ring. Lege teken reeksen, null-waarden of namen die uitsluitend uit spaties bestaan, zijn niet toegestaan.

    • Als u de naam van meerdere kolommen wilt wijzigen, typt u de namen als een door komma's gescheiden lijst in volg orde van de kolom indexen.

    • De naam van alle geselecteerde kolommen moet worden gewijzigd. U kunt geen kolommen weglaten of overs Laan.

    Tip

    Als u de naam van meerdere kolommen wilt wijzigen, kunt u in een door komma's gescheiden teken reeks plakken. Of gebruik het script voor het uitvoeren van R of het TOEP assen van SQL-transformatie modules. Zie de sectie met technische opmerkingen voor code en voor beelden.

  5. Voer het experiment uit.

Voorbeelden

Voor voor beelden van de manier waarop meta gegevens bewerken wordt gebruikt voor het voorbereiden van gegevens en het bouwen van modellen, raadpleegt u de Azure AI Gallery:

  • Borst kanker Detection: kolom namen worden gewijzigd na het toevoegen aan gegevens sets. De kolom patiënten-id wordt ook gemarkeerd als categorische om ervoor te zorgen dat deze niet wordt gebruikt in een berekening, maar niet als een teken reeks waarde.

  • Twitter sentiment Analysis: demonstreert hoe u meta gegevens bewerken kunt gebruiken om ervoor te zorgen dat kolommen worden beschouwd als-functies. Later in het experiment, worden de meta gegevens van de functie gewist.

  • Gegevens verwerking en-analyse: in dit voor beeld worden meta gegevens bewerken gebruikt om nieuwe kolom namen te definiëren voor gegevens die zijn geladen vanaf een webpagina.

Technische opmerkingen

Deze sectie bevat bekende problemen, veelgestelde vragen en enkele voor beelden van veelvoorkomende oplossingen.

Bekende problemen

  • Aangepaste meta gegevens worden niet ondersteund. Het is niet mogelijk om aangepaste meta gegevens te gebruiken in Azure Machine Learning of om kolom meta gegevens buiten de meta gegevenste bewerken. U kunt bijvoorbeeld geen meta gegevens toevoegen die aangeven dat een kolom een unieke id is, of andere beschrijvende kenmerken toevoegen. Azure Machine Learning ondersteunt alleen de meta gegevens kenmerken die in R worden gebruikt voor het werken met factoren, functies, gewichten en labels.

  • Niet-ondersteunde gegevens typen. De volgende numerieke gegevens typen worden niet ondersteund: Double (decimaal) en Time Stamp.

  • Score kolommen identificeren. Er is momenteel geen optie in meta gegevens bewerken om een kolom te markeren als bevattende scores. U kunt de script module Execute R echter gebruiken met een script dat vergelijkbaar is met het volgende om aan te geven dat een kolom scores bevat:

    dataset <- maml.mapInputPort(1)   
    attr(dataset$x, "label.type")= "True Labels"  
    attr(dataset$y, "feature.channel")= "Multiclass Classification Scores"  
    attr(dataset$y, "score.type")= "Assigned Labels"  
    maml.mapOutputPort("dataset");
    
  • Problemen met datum notaties. Het onderliggende datetime gegevens type dat door Azure machine learning wordt gebruikt, is POSIXct .

    Als alle datums in een kolom door de standaardparser kunnen worden geparseerd, wordt de kolom geïmporteerd en behandeld als teken reeks gegevens.

    Als u een kolom wilt converteren naar met DateTime behulp van de module meta gegevens bewerken en er een fout optreedt, betekent dit dat de datum geen indeling heeft die in .net standaard wordt geaccepteerd. In dit geval wordt u aangeraden de script module Execute of de module SQL Transformation te gebruiken om uw kolom te transformeren naar een indeling die wordt geaccepteerd door de standaard-parser.

    DateTime. parse-methode

    Standaard notatie teken reeksen voor datum en tijd

Kolommen selecteren met behulp van kolom indexen

In zeer grote gegevens sets is het niet haalbaar om hand matig alle kolom namen in te voeren of te selecteren. Het gebruik van de kolom index is een snelkoppeling die u kunt gebruiken om veel kolommen op te geven. In deze sectie vindt u enkele tips voor het gebruik van kolom indexen.

Open bijvoorbeeld de kolom kiezer, klik op with Rules, selecteer include en Column Indexesen typ een bereik of reeks getallen als volgt:

  • Typ 1-20 om de eerste 20 kolommen te selecteren
  • Typ 5-20 om een bereik aan kolommen te selecteren, te beginnen bij 5 en inclusief kolom 20.
  • Typ 1,5,10,15 om niet-aaneengesloten kolommen te selecteren
  • Typ 1-2, 5 om de kolommen 1, 2 en 5 te selecteren, kolommen 3 en 4 over te slaan
  • U kunt geen index waarde typen die groter is dan het aantal beschik bare kolommen in de gegevensset.

De volgende experimenten bieden enkele voor beelden van andere methoden om meerdere kolommen te selecteren en te wijzigen:

  • Binaire classificatie: borst kanker Detection: de oorspronkelijke gegevens bevatten veel lege kolommen die tijdens het importeren uit een werk blad worden gegenereerd. De extra kolommen zijn verwijderd door in de module Split data de kolom 1-11 op te geven.

  • Gegevensset downloaden uit UCI: demonstreert hoe u kolom namen kunt opgeven als een lijst met behulp van de module gegevens hand matig invoeren en vervolgens de lijst in de gegevensset als koppen wilt invoegen met behulp van de module voor het uitvoeren van een R-script .

  • Regex select columns: dit experiment bevat een aangepaste module waarmee u een reguliere expressie kunt Toep assen op kolom namen. U kunt deze module gebruiken als invoer voor het bewerken van meta gegevens.

Alternatieve methoden voor het wijzigen van kolom namen

Als u veel kolommen wilt wijzigen, kunt u de module R-script uitvoeren of de module SQL-trans formatie Toep assen gebruiken.

R-script gebruiken

Gegevens sets die door Azure Machine Learning worden gebruikt, worden door gegeven aan deze module als een gegevens. frame, wat betekent dat u de R- colnames() functie en andere gerelateerde R-functies kunt gebruiken om kolom namen weer te geven of te wijzigen.

Met de volgende code wordt bijvoorbeeld een lijst met nieuwe kolom namen gemaakt en vervolgens die lijst toegepast op de invoer-gegevensset om nieuwe kolom koppen te genereren.

irisdata <- maml.mapInputPort(1);    
newnames <- c("CLASS", "SEPAL  LENGTH", "SEPAL WIDTH", "PETAL LENGTH", "PETAL WIDTH");
colnames(irisdata) = newnames
maml.mapOutputPort("irisdata");

In het volgende voor beeld wordt een reguliere expressie in R gebruikt voor het globaal vervangen van alle exemplaren van de opgegeven teken reeks in de kolom namen voor irisdata :

# Map input dataset to variable
newirisdata <- maml.mapInputPort(1) # class: data.frame
names(newirisdata) <- gsub("col", "iris", names(newirisdata))
maml.mapOutputPort("newirisdata");

SQL gebruiken

In het volgende voor beeld wordt een gegevensset als invoer gebruikt en worden de kolom namen vervolgens gewijzigd met behulp van het sleutel woord as .

SELECT col1 as [C1], 
  col2 as [C2], 
  col3 as [C3], 
  col4 as [C4],
  col5 as [C5] 
FROM t1;

Verwachte invoer

Naam Type Beschrijving
Gegevensset Gegevens tabel Invoer gegevensset

Module parameters

Naam Bereik Type Standaard Beschrijving
Kolom Alle ColumnSelection Kies de kolommen waarop de wijzigingen moeten worden toegepast.
Gegevenstype Lijst Data Editor-gegevens type Behoudt Geef het nieuwe gegevens type voor de kolom op.
Categorische gegevens Lijst Meta gegevens editor categorische Behoudt Geef aan of de kolom moet worden gemarkeerd als categorische.
Velden Lijst Vlag voor meta gegevens editor Behoudt Geef op of de kolom moet worden beschouwd als een functie of label door leer algoritmen.
Nieuwe kolom namen alle Tekenreeks Typ de nieuwe namen voor de kolommen.

Uitvoer

Naam Type Beschrijving
Gegevensset voor resultaten Gegevens tabel Gegevensset met gewijzigde meta gegevens

Uitzonderingen

Uitzondering Beschrijving
Fout 0003 Een uitzonde ring treedt op als een of meer invoer gegevens sets null of leeg zijn.
Fout 0017 Een uitzonde ring treedt op als een of meer opgegeven kolommen een type hebben dat niet wordt ondersteund door de huidige module.
Fout 0020 Een uitzonde ring treedt op als het aantal kolommen in sommige gegevens sets die worden door gegeven aan de module te klein is.
Fout 0031 Een uitzonde ring treedt op als het aantal kolommen in de kolomset kleiner is dan nodig is.
Fout 0027 Een uitzonde ring treedt op wanneer twee objecten van dezelfde grootte moeten zijn, maar deze niet.
Fout 0028 Een uitzonde ring treedt op wanneer de kolomset dubbele kolom namen bevat en niet is toegestaan.
Fout 0037 Een uitzonde ring treedt op als er meerdere label kolommen zijn opgegeven en er slechts één is toegestaan.

Zie machine learning fout codesvoor een lijst met fouten die specifiek zijn voor Studio-modules (Classic).

Zie Machine Learning rest API fout codesvoor een lijst met API-uitzonde ringen.

Zie ook

Kenmerken
Gegevens transformatie
Module lijst a-Z