Functiebelangen evalueren

Belangrijk

Vanaf 20 september 2023 kunt u geen nieuwe Personalizer-resources maken. De Personalizer-service wordt op 1 oktober 2026 buiten gebruik gesteld.

U kunt beoordelen hoe belangrijk elke functie was voor het machine learning-model van Personalizer door een functie-evaluatie uit te voeren op uw historische logboekgegevens. Functie-evaluaties zijn handig voor:

  • Begrijpen welke functies het meest of minst belangrijk zijn voor het model.
  • Brainstorm over extra functies die nuttig kunnen zijn voor het leren, door inspiratie te halen uit welke functies momenteel belangrijk zijn in het model.
  • Identificeer mogelijk onbelangrijke of niet-nuttige functies die moeten worden overwogen voor verdere analyse of verwijdering.
  • Los veelvoorkomende problemen en fouten op die kunnen optreden bij het ontwerpen van functies en het verzenden ervan naar Personalizer. Het gebruik van GUID's, tijdstempels of andere functies die over het algemeen sparse zijn, kan bijvoorbeeld problematisch zijn. Meer informatie over het verbeteren van functies.

Wat is een functie-evaluatie?

Functie-evaluaties worden uitgevoerd door training en het uitvoeren van een kopie van uw huidige modelconfiguratie op historisch verzamelde logboekgegevens in een opgegeven periode. Functies worden één voor één genegeerd om het verschil in modelprestaties met en zonder elke functie te meten. Omdat de functie-evaluaties worden uitgevoerd op historische gegevens, is er geen garantie dat deze patronen in toekomstige gegevens worden waargenomen. Deze inzichten kunnen echter nog steeds relevant zijn voor toekomstige gegevens als uw geregistreerde gegevens voldoende variabiliteit of niet-stationaire eigenschappen van uw gegevens hebben vastgelegd. De prestaties van uw huidige model worden niet beïnvloed door het uitvoeren van een functie-evaluatie.

Een score voor het belang van functies is een meting van de relatieve impact van de functie op de beloning gedurende de evaluatieperiode. Scores voor functiebelang zijn een getal tussen 0 (minst belangrijk) en 100 (belangrijkste) en worden weergegeven in de functie-evaluatie. Omdat de evaluatie gedurende een bepaalde periode wordt uitgevoerd, kunnen de urgenties van functies veranderen naarmate er aanvullende gegevens naar Personalizer worden verzonden en naarmate uw gebruikers, scenario's en gegevens na verloop van tijd veranderen.

Een functie-evaluatie maken

Als u functiebelangscores wilt verkrijgen, moet u een functie-evaluatie maken gedurende een periode van vastgelegde gegevens om een rapport te genereren met de functiebelangscores. Dit rapport kan worden weergegeven in Azure Portal. Een functie-evaluatie maken:

  1. Ga naar de azure-portalwebsite
  2. Uw Personalizer-resource selecteren
  3. Selecteer de sectie Controleren in het navigatiedeelvenster aan de zijkant
  4. Het tabblad Functies selecteren
  5. Selecteer Rapport maken en er wordt een nieuw scherm weergegeven
  6. Kies een naam voor uw rapport
  7. Kies begin - en eindtijden voor uw evaluatieperiode
  8. Selecteer Rapport maken

Screenshot that shows how to create a Feature Evaluation in your Personalizer resource by clicking on

Screenshot that shows in the creation window and how to fill in the fields for your report including the name, start date, and end date.

Vervolgens wordt de naam van uw rapport weergegeven in de onderstaande tabel met rapporten. Het maken van een functie-evaluatie is een langlopend proces, waarbij de tijd voor voltooiing afhankelijk is van het aantal gegevens dat tijdens de evaluatieperiode naar Personalizer wordt verzonden. Terwijl het rapport wordt gegenereerd, wordt in de kolom Status 'Actief' voor uw evaluatie aangegeven en wordt deze bijgewerkt naar Geslaagd zodra het is voltooid. Controleer regelmatig of uw evaluatie is voltooid.

U kunt meerdere functieevaluaties uitvoeren gedurende verschillende perioden dat uw Personalizer-resource logboekgegevens bevat. Zorg ervoor dat uw gegevensretentieperiode voldoende lang is ingesteld om u in staat te stellen evaluaties uit te voeren over oudere gegevens.

Belangrijke scores voor functies interpreteren

Functies met een hoge urgentiescore

Functies met hogere urgentiescores waren invloedrijker op het model tijdens de evaluatieperiode in vergelijking met de andere functies. Belangrijke functies kunnen inspiratie bieden voor het ontwerpen van extra functies die in het model moeten worden opgenomen. Als u bijvoorbeeld de contextfuncties 'IsWeekend' of 'IsWeekday' ziet die belangrijk zijn voor boodschappen, kan het zijn dat feestdagen of lange weekenden ook belangrijke factoren zijn, dus u kunt overwegen om functies toe te voegen die deze informatie vastleggen.

Functies met een lage urgentiescore

Functies met lage urgentiescores zijn goede kandidaten voor verdere analyse. Niet alle functies met lage scores zijn noodzakelijkerwijs slecht of niet nuttig omdat lage scores om een of meer redenen kunnen optreden. De onderstaande lijst kan u helpen aan de slag te gaan met het analyseren waarom uw functies mogelijk lage scores hebben:

  • De functie is zelden waargenomen in de gegevens tijdens de evaluatieperiode.

    • Als het aantal exemplaren van deze functie laag is in vergelijking met andere functies, kan dit erop wijzen dat de functie niet vaak genoeg aanwezig was voor het model om te bepalen of het waardevol is of niet.
  • De functiewaarden hadden niet veel diversiteit of variatie.

    • Als het aantal unieke waarden voor deze functie lager is dan verwacht, kan dit erop wijzen dat de functie niet veel varieerde tijdens de evaluatieperiode en geen significant inzicht biedt.
  • De functiewaarden waren te luidruchtig (willekeurig) of te uniek en gaven weinig waarde op.

    • Controleer het aantal unieke waarden in de functie-evaluatie. Als het aantal unieke waarden voor deze functie hoger is dan verwacht of hoog in vergelijking met andere functies, kan dit erop wijzen dat de functie te luidruchtig was tijdens de evaluatieperiode.
  • Er is een probleem met gegevens of opmaak.

    • Controleer of de functies zijn opgemaakt en naar Personalizer worden verzonden zoals u verwacht.
  • De functie is mogelijk niet waardevol voor modelleer en prestaties als de functiescore laag is en de bovenstaande redenen niet van toepassing zijn.

    • Overweeg om de functie te verwijderen omdat het uw model niet helpt de gemiddelde beloning te maximaliseren.

Het verwijderen van functies met scores met een lage urgentie kan helpen bij het versnellen van modeltraining door de hoeveelheid gegevens te verminderen die nodig is om te leren. Het kan ook de prestaties van het model verbeteren. Dit is echter niet gegarandeerd en er is mogelijk verdere analyse nodig. Meer informatie over het ontwerpen van context- en actiefuncties.

Veelvoorkomende problemen en stappen voor het verbeteren van functies

  • Functies met een hoge kardinaliteit verzenden. Functies met een hoge kardinaliteit zijn functies met veel afzonderlijke waarden die waarschijnlijk niet worden herhaald over veel gebeurtenissen. Persoonlijke gegevens die specifiek zijn voor één persoon (zoals naam, telefoonnummer, creditcardnummer, IP-adres) mogen bijvoorbeeld niet worden gebruikt met Personalizer.

  • Het is onwaarschijnlijk dat deze informatie relevant is voor Personalizer om de gemiddelde beloningsscore te maximaliseren door gebruikers-id's te verzenden met een groot aantal gebruikers. Het verzenden van gebruikers-id's (zelfs als er geen persoonlijke gegevens zijn) zal waarschijnlijk meer ruis toevoegen aan het model en wordt niet aanbevolen.

  • Functies zijn te sparse. Waarden zijn uniek en treden zelden meer dan een paar keer op. Nauwkeurige tijdstempels tot de seconde kunnen zeer sparse zijn. Het kan dichter (en dus effectief) worden gemaakt door bijvoorbeeld tijden te groeperen in 'ochtend', 's middags' of 's middags'.

Locatiegegevens profiteren doorgaans ook van het maken van bredere classificaties. Een coördinaten voor de breedtegraad, zoals Lat: 47.67402° N, Long: 122,12154° W, is bijvoorbeeld te nauwkeurig en dwingt het model om breedtegraad en lengtegraad als afzonderlijke dimensies te leren. Wanneer u op basis van locatiegegevens aan uw persoonlijke voorkeur wilt aanpassen, kunt u locatiegegevens in grotere sectoren groeperen. Een eenvoudige manier om dat te doen, is door een geschikte afrondingsprecisie te kiezen voor de lengte-breedtegraad en lengtegraad in gebieden te combineren door ze één tekenreeks te maken. Een goede manier om lat: 47.67402° N, lang: 122.12154° W in regio's ongeveer een paar kilometer breed weer te geven, is "locatie":"34.3 , 12.1".

  • Vouw functiesets uit met extra geïsoleerde informatie U kunt ook meer functies krijgen door te denken aan niet-geïmplementeerde kenmerken die kunnen worden afgeleid van informatie die u al hebt. Is het bijvoorbeeld mogelijk dat in een fictieve filmlijst persoonlijke instellingen een weekend versus weekdag afwijken van het gedrag van gebruikers? De tijd kan worden uitgebreid met een kenmerk 'weekend' of 'weekdag'. Zijn er nationale/regionale culturele feestdagen die aandacht vestigen op bepaalde filmtypen? Een 'Halloween'-kenmerk is bijvoorbeeld handig op plaatsen waar het relevant is. Is het mogelijk dat regenachtig weer een aanzienlijke invloed heeft op de keuze van een film voor veel mensen? Met tijd en plaats kan een weerservice die informatie bieden en kunt u deze toevoegen als extra functie.

Volgende stappen

Analyseer beleidsprestaties met een offline evaluatie met Personalizer.