Utvärdera funktionsvikter
Viktigt!
Från och med den 20 september 2023 kommer du inte att kunna skapa nya personaliseringsresurser. Personanpassningstjänsten dras tillbaka den 1 oktober 2026.
Du kan utvärdera hur viktig varje funktion var för personanpassningsmodellen för maskininlärning genom att utföra en funktionsutvärdering av dina historiska loggdata. Funktionsutvärderingar är användbara för att:
- Förstå vilka funktioner som är viktigast eller minst viktiga för modellen.
- Brainstorma extra funktioner som kan vara till nytta för lärandet genom att härleda inspiration från vilka funktioner som för närvarande är viktiga i modellen.
- Identifiera potentiellt oviktiga eller icke-användbara funktioner som bör övervägas för ytterligare analys eller borttagning.
- Felsöka vanliga problem och fel som kan uppstå när du utformar funktioner och skickar dem till Personanpassning. Det kan till exempel vara problematiskt att använda GUID:er, tidsstämplar eller andra funktioner som i allmänhet är glesa . Läs mer om att förbättra funktioner.
Vad är en funktionsutvärdering?
Funktionsutvärderingar utförs genom träning och körning av en kopia av din aktuella modellkonfiguration på historiskt insamlade loggdata under en angiven tidsperiod. Funktioner ignoreras en i taget för att mäta skillnaden i modellprestanda med och utan varje funktion. Eftersom funktionsutvärderingarna utförs på historiska data finns det ingen garanti för att dessa mönster kommer att observeras i framtida data. Dessa insikter kan dock fortfarande vara relevanta för framtida data om dina loggade data har samlat in tillräckliga variabilitetsegenskaper eller icke-stationära egenskaper för dina data. Din aktuella modells prestanda påverkas inte av att köra en funktionsutvärdering.
En funktionsviktspoäng är ett mått på funktionens relativa inverkan på belöningen under utvärderingsperioden. Poäng för funktionsvikt är ett tal mellan 0 (minst viktigt) och 100 (viktigast) och visas i funktionsutvärderingen. Eftersom utvärderingen körs under en viss tidsperiod kan funktionsprioriteterna ändras när ytterligare data skickas till Personanpassning och när dina användare, scenarier och data ändras över tid.
Skapa en funktionsutvärdering
För att få poäng för funktionsvikt måste du skapa en funktionsutvärdering under en period med loggade data för att generera en rapport som innehåller funktionsviktspoängen. Den här rapporten kan visas i Azure-portalen. Så här skapar du en funktionsutvärdering:
- Gå till Webbplatsen för Azure-portalen
- Välj din personanpassningsresurs
- Välj avsnittet Övervaka i sidonavigeringsfönstret
- Välj fliken Funktioner
- Välj "Skapa rapport" så ska en ny skärm visas
- Välj ett namn för rapporten
- Välj start- och sluttider för utvärderingsperioden
- Välj "Skapa rapport"
Därefter bör rapportnamnet visas i rapporttabellen nedan. Att skapa en funktionsutvärdering är en tidskrävande process, där tiden för slutförande beror på mängden data som skickas till Personanpassning under utvärderingsperioden. Medan rapporten genereras anger kolumnen Status "Körs" för utvärderingen och uppdateras till "Lyckades" när den har slutförts. Kontrollera regelbundet om utvärderingen har slutförts.
Du kan köra flera funktionsutvärderingar under olika tidsperioder som personaliserarresursen har loggdata. Kontrollera att datakvarhållningsperioden är tillräckligt lång för att du ska kunna utföra utvärderingar av äldre data.
Tolka funktionsviktspoäng
Funktioner med hög prioritetspoäng
Funktioner med högre prioritetspoäng var mer inflytelserika för modellen under utvärderingsperioden jämfört med de andra funktionerna. Viktiga funktioner kan ge inspiration för att utforma ytterligare funktioner som ska ingå i modellen. Om du till exempel ser kontextfunktionerna "IsWeekend" eller "IsWeekday" har stor betydelse för matinköp kan det vara så att helgdagar eller långhelger också kan vara viktiga faktorer, så du kanske vill överväga att lägga till funktioner som samlar in den här informationen.
Funktioner med låg prioritetspoäng
Funktioner med låga poäng är bra kandidater för ytterligare analys. Inte alla funktioner med låg poäng är nödvändigtvis dåliga eller inte användbara eftersom låga poäng kan inträffa av en eller flera orsaker. Listan nedan kan hjälpa dig att komma igång med att analysera varför dina funktioner kan ha låga poäng:
Funktionen observerades sällan i data under utvärderingsperioden.
- Om antalet förekomster av den här funktionen är lågt jämfört med andra funktioner kan det tyda på att funktionen inte fanns tillräckligt ofta för att modellen skulle kunna avgöra om den är värdefull eller inte.
Funktionsvärdena hade inte mycket mångfald eller variation.
- Om antalet unika värden för den här funktionen är lägre än förväntat kan det tyda på att funktionen inte varierar mycket under utvärderingsperioden och inte ger någon större insikt.
Funktionsvärdena var för bullriga (slumpmässiga) eller för distinkta och gav lite värde.
- Kontrollera antalet unika värden i funktionsutvärderingen. Om antalet unika värden för den här funktionen är högre än förväntat, eller högt jämfört med andra funktioner, kan det tyda på att funktionen var för högljudd under utvärderingsperioden.
Det finns ett data- eller formateringsproblem.
- Kontrollera att funktionerna är formaterade och skickade till Personanpassning på det sätt som du förväntar dig.
Funktionen kanske inte är värdefull för modellinlärning och prestanda om funktionspoängen är låg och orsakerna ovan inte gäller.
- Överväg att ta bort funktionen eftersom den inte hjälper din modell att maximera den genomsnittliga belöningen.
Om du tar bort funktioner med poäng med låg prioritet kan du påskynda modellträningen genom att minska mängden data som behövs för att lära dig. Det kan också potentiellt förbättra modellens prestanda. Detta är dock inte garanterat och ytterligare analys kan behövas. Läs mer om att utforma kontext- och åtgärdsfunktioner.
Vanliga problem och steg för att förbättra funktioner
Skickar funktioner med hög kardinalitet. Funktioner med hög kardinalitet är de som har många distinkta värden som sannolikt inte upprepas över många händelser. Personlig information som är specifik för en enskild person (till exempel namn, telefonnummer, kreditkortsnummer, IP-adress) bör till exempel inte användas med Personanpassning.
Skicka användar-ID: t Med ett stort antal användare är det osannolikt att den här informationen är relevant för personaliserarens inlärning för att maximera den genomsnittliga belöningspoängen. Att skicka användar-ID:t (även om det inte är personlig information) kommer sannolikt att lägga till mer brus i modellen och rekommenderas inte.
Funktionerna är för glesa. Värden är distinkta och förekommer sällan mer än några gånger. Exakta tidsstämplar ned till den andra kan vara mycket glesa. Det kan göras tätare (och därför effektivt) genom att gruppera tider i "morgon", "middag" eller "eftermiddag", till exempel.
Platsinformation drar också vanligtvis nytta av att skapa bredare klassificeringar. Till exempel är en latitud-longitudkoordinater som Lat: 47.67402° N, Long: 122.12154° W för exakt och tvingar modellen att lära sig latitud och longitud som distinkta dimensioner. När du försöker anpassa baserat på platsinformation hjälper det till att gruppera platsinformation i större sektorer. Ett enkelt sätt att göra det är att välja en lämplig avrundningsprecision för lat-long-talen och kombinera latitud och longitud i "områden" genom att göra dem till en sträng. Till exempel ett bra sätt att representera Lat: 47.67402° N, Long: 122.12154° W i regioner ungefär några kilometer bred skulle vara "plats":"34.3 , 12.1".
- Expandera funktionsuppsättningar med extrapolerad information Du kan också få fler funktioner genom att tänka på outforskade attribut som kan härledas från information som du redan har. Är det till exempel möjligt att en helg kontra veckodag framkallar ett annat beteende än användarna i en fiktiv anpassning av filmlistan? Tiden kan utökas till att ha attributet "weekend" eller "weekday". Driver nationella/regionala kultursemestrar uppmärksamhet på vissa filmtyper? Till exempel är ett "Halloween"-attribut användbart på platser där det är relevant. Är det möjligt att regnigt väder har betydande inverkan på valet av film för många människor? Med tid och plats kan en vädertjänst tillhandahålla den informationen och du kan lägga till den som en extra funktion.
Nästa steg
Analysera principprestanda med en offlineutvärdering med Personalizer.