Share via


Datatransformering – Learning med antal

Viktigt

Stödet för Machine Learning Studio (klassisk) upphör den 31 augusti 2024. Vi rekommenderar att du byter till Azure Machine Learning innan dess.

Från och med den 1 december 2021 kan du inte längre skapa nya Machine Learning Studio-resurser (klassisk). Du kan fortsätta att använda befintliga Machine Learning Studio-resurser (klassisk) till och med den 31 augusti 2024.

Dokumentationen om ML Studio (klassisk) håller på att dras tillbaka och kanske inte uppdateras i framtiden.

I den här artikeln beskrivs de moduler Machine Learning Studio (klassisk) som stöder count-baserad featurization.

Anteckning

Gäller endast för: Machine Learning Studio (klassisk)

Liknande dra och släpp-moduler är tillgängliga i Azure Machine Learning designer.

Learning med antal är ett effektivt sätt att skapa en kompakt uppsättning datamängdsfunktioner som baseras på antalet värden. Du kan använda modulerna i den här kategorin för att skapa en uppsättning antal och funktioner. Senare kan du uppdatera antalet och funktionerna för att dra nytta av nya data eller sammanslå två uppsättningar med count-data.

Om antalsbaserad featurisering

Den grundläggande idén med count-based featurization är att genom att beräkna antal kan du snabbt och enkelt få en sammanfattning av vilka kolumner som innehåller den viktigaste informationen. Modulen räknar antalet gånger som ett värde visas och tillhandahåller sedan den informationen som en funktion för indata till en modell.

Imagine att du verifierar en kreditkortstransaktion. En viktig informationsbit är var transaktionen kom från. En av de vanligaste kodarna för transaktionens ursprung är postnumret. Det kan dock finnas upp till 40 000 postnummer, postnummer och geografiska koder att ta hänsyn till. Har din modell kapacitet att lära sig 40 000 fler parametrar? Om du ger den kapaciteten, har du tillräckligt med träningsdata för att förhindra att den överanpassas?

Om du har bra data, med många exempel, kan en sådan detaljerad lokal kornighet vara kraftfull. Men om du bara har ett urval av en bedräglig transaktion, från en liten plats, betyder det att alla transaktioner från den platsen är dåliga eller att du inte har tillräckligt med data?

En lösning är att lära sig med antal. I stället för att införa 40 000 fler funktioner kan du se antalet och andelen bedrägerier för varje postnummer. Genom att använda dessa antal som funktioner får du information om styrkan hos bevisen för varje värde. Genom att koda relevant statistik för antalen kan eleven dessutom använda statistiken för att avgöra när de ska ändra sin metod och i stället använda andra funktioner för att hämta informationen.

Antalsbaserad inlärning är attraktivt av många skäl. Med count-based learning har du färre funktioner, vilket kräver färre parametrar. Färre parametrar ger snabbare inlärning, snabbare förutsägelse, mindre prediktorer och mindre risk för överanpassad.

Så här skapas antalsbaserade funktioner

Ett grundläggande exempel kan hjälpa dig att demonstrera hur antalsbaserade funktioner skapas och tillämpas. Anta att du har följande tabell som den här, med etiketter och indata. Varje ärende (eller rad eller exempel) har en uppsättning värden i kolumner. I det här exemplet är värdena A och B.

Etikettkolumn Indatavärde
0 A
0 A
1 A
0 B
1 B
1 B
1 B

Det här är de steg du gör för att skapa antalsbaserade funktioner:

  1. För en specifik uppsättning värden hittar du alla andra fall i den datauppsättningen som har samma värde. I det här fallet finns det tre instanser av A och fyra instanser av B.
  2. Räkna klassmedlemskapet för varje värde som en funktion i sig själv. I det här fallet får du en liten matris: det finns två fall där A = 0; ett fall där A = 1; ett fall där B = 0; och tre fall där B = 1.
  3. Baserat på den här matrisen får du en mängd olika antal funktioner. Dessa inkluderar en beräkning av log-ratio-kvoten och antalen för varje målklass. Tabellen i nästa avsnitt visar data.

Exempeltabell med antalsbaserade funktioner

Etikett 0_0_Class000_Count 0_0_Class001_Count 0_0_Class000_LogOdds 0_0_IsBackoff
0 2 1 0.510826 0
0 2 1 0.510826 0
1 2 1 0.510826 0
0 1 3 -0.8473 0
1 1 3 -0.8473 0
1 1 3 -0.8473 0
1 1 3 -0.8473 0

Exempel

I Använda Machine Learning för att skapa förutsägelsemodeller med klickning ger Microsoft Machine Learning-teamet en detaljerad genomgång av hur du använder antal i maskininlärning. I artikeln jämförs effekten av antalsbaserad modellering med andra metoder.

Teknisk information

Det här avsnittet innehåller implementeringsinformation, tips och svar på vanliga frågor.

Så här beräknas loggförlustvärdet

Värdet för loggförlust är inte vanliga loggoder. I det här fallet används den tidigare fördelningen för att jämna ut beräkningen av loggoder.

Anta att du har en datauppsättning som används för binär klassificering. I den här datamängden är den tidigare frekvensen för klass p_00 och den tidigare frekvensen för klass 1 är p_1 = 1 – p_0. För en specifik träningsexempelfunktion är antalet för klass 0 x_0och antalet för klass 1 är x_1.

Enligt dessa antaganden beräknas loggoderna LogOdds = Log(x0 + c * p0) – Log (x1 + c\p1)som , c där är den tidigare koefficienten, som kan anges av användaren. Loggfunktionen använder den naturliga basen.

Det innebär med andra ord att för varje klass i:

Log_odds[i] = Log( (count[i] + prior_coefficient * prior_frequency[i]) / (sum_of_counts - count[i]) + prior_coefficient \* (1 - prior_frequency[i]))

Om den tidigare koefficienten är positiv kan loggoderna vara annorlunda än Log(count[i] / (sum_of_counts – count[i])).

Varför loggoderna inte beräknas för vissa objekt

Som standard samlas alla objekt med ett antal som är mindre än 10 i en enda bucket med namnet "skräplager". Du kan ändra det här värdet med hjälp av tröskelvärdet för skräplager i modulen Ändra antal tabellparametrar .

Lista över moduler

Kategorin Learning med antal innehåller följande moduler:

  • Byggräkningstransformering: Skapar en count-tabell och antalsbaserade funktioner från en datauppsättning och sparar sedan tabellen och funktionerna som en transformering.
  • Exportera antal tabeller: Exporterar en count-tabell från en beräkningstransform. Den här modulen stöder bakåtkompatibilitet med experiment som skapar count-baserade funktioner med hjälp av Build Count Table (inaktuell) och Count Featurizer (inaktuell).
  • Import Count Table: Importerar en befintlig count-tabell. Den här modulen stöder bakåtkompatibilitet med experiment som skapar count-baserade funktioner med hjälp av Build Count Table (inaktuell) och Count Featurizer (inaktuell). Modulen stöder konvertering av count-tabeller för att räkna transformeringar.
  • Sammanslå antal transformeringar: Sammanfogar två uppsättningar med count-baserade funktioner.
  • Ändra count table parameters (Ändra antal tabellparametrar): Ändrar count-baserade funktioner som härleds från en befintlig antalstabell.

Se även