Rensa klustring

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.

Utför en parametersökning för att fastställa optimala inställningar för en klustringsmodell

Kategori: Machine Learning/träna

Anteckning

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

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

Modulöversikt

Den här artikeln beskriver hur du använder modulen Rensa klustring i Machine Learning Studio (klassisk) för att träna en modell med en parametersökning. En parametersökning är ett sätt att hitta de bästa hyperparametrarna för en modell, givet en uppsättning data.

Modulen Rensa klustring är särskilt utformad för klustringsmodeller. Du tillhandahåller en klustringsmodell som indata, tillsammans med en datauppsättning. Modulen itererar över en uppsättning parametrar som du anger, skapar och testar modeller med olika parametrar tills den hittar modellen med den bästa uppsättningen kluster. Den beräknar automatiskt den bästa konfigurationen och tränar sedan en modell med den konfigurationen.

Den returnerar också en uppsättning mått som beskriver de modeller som testades och en uppsättning klustertilldelningar baserat på den bästa modellen.

Så här konfigurerar du avsökningsklustring

  1. Lägg till modulen Rensa klustring i experimentet i Studio (klassisk). Du hittar den här modulen under Machine Learning i kategorin Träna.

  2. Lägg till K-Means-klustringsmodulen och din träningsdatauppsättning i experimentet och anslut dem till modulen Rensa kluster .

  3. Konfigurera K-Means-klustringsmodulen så att den använder en parametersökning enligt följande:

    1. Ställ in Läget Skapa utbildarepå Parameterintervall.

    2. Använd Range Builder (eller skriv flera värden manuellt) för varje parameter för att ange intervallet med värden att iterera över.

    3. Initiering för avsökning: Ange hur K-means-algoritmen ska hitta de första kluster-centroiderna. Flera algoritmer tillhandahålls för slumpmässig initiering och sedan testning av centroider.

      Om din träningsdatamängd innehåller en etikettkolumn, även med partiella värden, kan du använda dessa värden för centroider. Använd alternativet Tilldela etikettläge för att ange hur etikettvärdena används.

      Tips

      Etikettkolumnen måste markeras som sådan i förväg. Om du får ett felmeddelande kan du försöka använda Redigera metadata för att identifiera kolumnen som innehåller etiketter.

    4. Antal kärnor som ska rensas: Ange hur många olika slumpmässiga starttröse som ska provas när parametern rensas.

    5. Välj det mått som ska användas när du mäter klusterlikhet. Mer information finns i avsnittet K-Means Clustering (K-Means-klustring ).

    6. Iterationer: Ange det totala antalet iterationer som K-means-algoritmen ska utföra. Dessa iterationer används för att optimera valet av kluster-centroider.

    7. Om du använder en etikettkolumn för att initiera avsökningsalternativet använder du alternativet Tilldela etikettläge för att ange hur värdena i etikettkolumnen ska hanteras.

      • Fyll i värden som saknas: Om etikettkolumnen innehåller vissa saknade värden använder du det här alternativet för att imputera kategorier baserat på klustret som datapunkten är tilldelad till.

      • Skriva över från närmaste centrum: Genererar etikettvärden för alla datapunkter som tilldelats till ett kluster med hjälp av etiketten för den punkt som är närmast klustrets mitt.

      • Ignorera etikettkolumn: Välj det här alternativet om du inte vill utföra någon av ovanstående åtgärder.

  4. I modulen Rensa klustring använder du alternativet För mått för att mäta klustringsresultat för att ange den matematiska metod som ska användas när du beräknar den tränade klustringsmodellens passning:

    • Förenklad tavla: Det här måttet samlar in tätheten av datapunkter i varje kluster. Den beräknas som en kombination av likheten mellan varje rad och dess kluster och dess likhet med nästa närmaste kluster. Om klustret bara har 1 rad beräknas det beräknade avståndet till närmaste centroid i stället för att undvika att få 0 som resultat. "Förenklad" syftar på det faktum att avståndet till kluster-centroiden används som ett enkelt likhetsmått. I allmänhet är en högre poäng bättre. Medelvärdet för datauppsättningen anger hur väl data har klustrats. Om det finns för många eller för få kluster har vissa kluster lägre värden än resten. Mer information finns i den här Wikipedia-artikeln.

    • Davies-Bouldin: Det här måttet syftar till att identifiera den minsta uppsättningen kluster med minst punktdiagram. Eftersom måttet definieras som ett förhållande mellan punktdiagram i varje kluster över klusterseparation innebär ett lägre värde att klustring är bättre. Den bästa klustringsmodellen minimerar det här måttet. För att beräkna Davies-Bouldin beräknas den genomsnittliga raden till centroidavståndet per kluster. För varje klusterpar divideras summan av dessa medelvärden med avståndet mellan centroider. Maximalt värde för alla andra kluster väljs för varje kluster och beräknas i genomsnitt för alla kluster. Mer information finns i den här Wikipedia-artikeln.

    • Dunn: Syftet med det här måttet är att identifiera den minsta uppsättningen av de mest kompakta klustren. I allmänhet indikerar ett högre värde för det här måttet bättre klustring. För att beräkna Dunn-måttet divideras det minimala centroid-till-centroidavståndet med det maximala avståndet för varje datapunkt till dess klustercenter. Mer information finns i den här Wikipedia-artikeln.

    • Genomsnittlig avvikelse: Det här måttet beräknas genom att ta det genomsnittliga avståndet från varje datapunkt till dess klustercenter. Värdet minskar när antalet centroider ökar. Därför är det inte användbart när du rensar för att hitta antalet centroider. Det här måttet rekommenderas för användning när du väljer det bästa centroid-initieringsvärde.

  5. Ange parametersökningsläge: Välj ett alternativ som definierar de kombinationer av värden som används vid träning och hur de väljs:

    • Hela rutnätet: Alla värden inom det angivna intervallet provas och utvärderas. Det här alternativet är vanligtvis mer beräkningsmässigt dyrt.

    • Slumpmässig sökning: Använd det här alternativet för att begränsa antalet körningar. Klustringsmodellen byggs och utvärderas med en kombination av värden som väljs slumpmässigt från det tillåtna intervallet med parametervärden.

  6. Maximalt antal körningar vid slumpmässig sökning: Ange det här alternativet om du väljer alternativet Slumpmässigt avsökning . Ange ett värde för att begränsa det maximala antalet iterationer när du testar uppsättningar med slumpmässigt valda parametrar.

    Varning

    Iterationsparametrarna för K-Means-klustringsmodulen har ett annat syfte och påverkas inte av den här inställningen: det begränsar antalet övergångar av data som görs för att förbättra kluster genom att minimera det genomsnittliga avståndet från varje datapunkt till dess kluster-centroider. Iterationer som definieras av modulparametern Rensa klustring utförs däremot för att prova olika slumpmässiga centroid-initieringar. Det här minimeringsproblemet är känt som NP-svårt. Därför kan flera slumpmässiga kärnor ge bättre resultat.

    Om du väljer en slumpmässig genomsökning använder du alternativet Slumpmässigt startvärde för att ange de första slumpmässiga startvärdena som centroiderna ska börja skapas på. En fördel med att använda en parametersökning för att skapa en klustringsmodell är att du enkelt kan testa flera startvärden för att minska den kända känsligheten för klustringsmodeller till det ursprungliga startvärdet.

  7. Klicka på Kolumnuppsättning och välj de kolumner som ska användas när du skapar klustren. Som standard används alla egenskapskolumner när du skapar och testar klustringsmodellen.

    Du kan inkludera en etikettkolumn, om den finns i din datauppsättning. Om det finns en etikett kan du använda den för att vägleda valet av centroider, använda etiketten som en funktion eller ignorera etiketten. Ange dessa alternativ för etiketthantering av Modulen Kmeans Clustering enligt beskrivningen i steg 3 ovan.

  8. Sök efter Lägg till eller Avmarkera endast resultat: Använd det här alternativet för att kontrollera vilka kolumner som returneras i resultatet.

    Som standard returnerar modulen de ursprungliga kolumnerna i träningsdatauppsättningen tillsammans med resultaten. Om du avmarkerar det här alternativet. endast klustertilldelningarna returneras.

  9. Lägg till modulen Assign Data to Clusters (Tilldela data till kluster) i experimentet.

  10. Anslut utdata märkta Best Trained Model (Bästa tränade modell) till indata för Trained Model (Tränad modell) för Assign Data to Clusters (Tilldela data till kluster).

  11. Lägg till datauppsättningen som är avsedd för utvärdering och anslut den till datauppsättningsporten för modulen Tilldela data till kluster.

  12. Lägg till modulen Utvärdera modell och anslut den till Tilldela data till kluster. Du kan också ansluta en utvärderingsdatamängd.

  13. Kör experimentet.

Resultat

Modulen Rensa klustring ger tre olika resultat:

  • Bäst tränad modell. En tränad modell som du kan använda för bedömning och utvärdering. Högerklicka och välj Spara som tränad modell för att avbilda den optimerade klustringsmodellen och använda den för bedömning.

  • Resultatdatauppsättning. En uppsättning klustertilldelningar som baseras på den optimerade modellen.

    Kolumnnamn Description
    Tilldelningar Det här värdet anger det kluster som varje datapunkt har tilldelats. Klustren i den tränade modellen är märkta med 0-baserade index.
    DistancesToClusterCenter no.1

    DistancesToClusterCenter no.n
    Det här värdet anger hur nära datapunkten är i mitten av varje kluster.

    En kolumn skapas för varje kluster som skapats i den optimerade modellen.

    Du kan begränsa antalet kluster med hjälp av alternativet Antal centroider .

    Som standard kan du returnera kolumnerna från träningsdatamängden tillsammans med resultaten, så att det blir enklare att granska och tolka klustertilldelningarna.

  • Rensa resultat. En datauppsättning som innehåller följande utvärderingsmått för klustren:

    Kolumnnamn Description
    Klustermått Ett värde som anger den genomsnittliga klusterkvaliteten för körningen. Körningarna sorteras efter bästa poäng.
    Antal centroider Antalet kluster som har skapats i just den här iterationen av flyttningen
    Index för körning En identifierare för varje iteration

    Tips

    De värden som returneras för klustermåttet ska tolkas på olika sätt, beroende på vilket mått du valde när du konfigurerade samlingen. För standardmåttet Förenklad är en högre poäng bättre. För Davies-Bouldin är en lägre poäng bättre.

Exempel

Exempel på en parametersökning med K-means-klustring finns i Azure AI Gallery:

Teknisk information

Det här avsnittet innehåller tips och implementeringsinformation.

Optimera klustringsmodeller

Kvaliteten och noggrannheten i klustringsmodeller kan påverkas starkt av valet av inledande parametrar, till exempel antalet centroider och det startvärde som används för att initiera klustret. För att minska känsligheten för de inledande parametrarna hjälper modulen Rensa klustring dig att hitta den bästa kombinationen av parametrar. Du anger ett antal parametrar som ska testas, och modulen skapar och testar automatiskt flera modeller och väljer slutligen optimalt antal kluster.

Om du vill skapa en parametersökning måste du också konfigurera K-Means-klustringsmodulen så att den använder en parametersökning. Du kan ange att den rensade itererar över alla möjliga kombinationer av parametrar eller använda en slumpmässig kombination av parametrar. Du kan också välja ett av flera standardmått för att mäta precisionen för centroider under processen för att skapa och testa iterativa modeller. När det angivna antalet iterationer har slutförts väljer modulen det bästa antalet kluster, baserat på det valda måttet, och matar ut rapporter som du kan använda för att utvärdera resultatet.

Användningstips

  • I vissa fall kanske du redan vet hur många kluster du förväntar dig att hitta. Dina data kan till exempel ha klassetiketter som kan användas för att vägleda valet av centroider. I så fall kan du konfigurera K-Means-klustringsmodulen så att den använder etikettkolumnen för att vägleda valet av de första centroiderna.

  • Om du känner till några av de förväntade klustren, men inte är säker på hur många kluster som är optimala, anger du antalet centroider till ett tal som är större än antalet kända etikettvärden. Modulen Rensa kluster skapar kluster för kända datapunkter och avgör sedan det optimala antalet extra kluster för återstående datapunkter.

Hantera saknade värden i etikettkolumnen

Det finns flera sätt att hantera saknade värden i etikettkolumnen. Anta till exempel att du har en bildklassificeringsuppgift och att endast vissa av bilderna har märkts.

Du kan använda etikettkolumnen för att styra valet av centroider, men ange att eventuella saknade etiketter ska fyllas i med hjälp av klustertilldelningarna. Befintliga etikettvärden ändras med andra ord inte, men saknade etiketter fylls i.

För alla datapunkter som är tilldelade till ett kluster kan du även skriva över befintliga etiketter med hjälp av en enda etikett som bäst representerar klustret. Tänk dig att du använder bilddata med mycket detaljerade etiketter, till exempel olika hundraser, för att förstå hur det här alternativet kan vara användbart. Med det här alternativet kan du ersätta alla detaljerade etiketter med en enda kategorietikett, "hund".

Startvärden i loggen

Loggfilen som genereras av modulen Train Clustering Model (Träna klustringsmodell) visar att samma start seed används för alla iterationer av K-means-klustringsalgoritmen, oavsett vilket start seed som angavs i egenskapen Random Seed ..

I själva verket använder implementeringen det start seed som anges av användaren för att generera en sekvens med slumpmässiga tal som är olika för varje körning. Därför behövs bara ett start seed för att skapa alla slumpmässigt genererade tal.

Syftet med loggen är att ange vilket start seed som modulen använder när användaren inte anger ett start seed i fönstret Egenskaper.

Förväntade indata

Namn Typ Description
Ej tränad modell ICluster-gränssnitt Ej tränad klustringsmodell
Datamängd Datatabell Indatakälla

Modulparametrar

Namn Typ Värden Valfritt Standardvärde Description
Mått för mätning av klustringsresultat Klustermått Simplified Simplified Simplified, Davies-Bouldin, Dunn, Average Deviation Obligatorisk Förenklad tavla Välj det mått som används för att utvärdera regressionsmodeller
Ange parametersökningsläge Sökningsmetoder Hela rutnätet eller slumpmässigt svep Obligatorisk Slumpmässigt svep Rensa hela rutnätet på parameterutrymmet eller rensa med ett begränsat antal exempelkörningar
Kolumnuppsättning ColumnSelection Obligatorisk Kolumnvalsmönster
Maximalt antal körningar vid slumpmässig sökning Integer [1;10000] Endast tillgängligt när SweepingMode är inställt på Slumpmässigt svep 5 Ange maximalt antal körningar som ska köras vid slumpmässig sökning
Slumpmässigt start seed Integer Endast tillgängligt när SweepingMode är inställt på Slumpmässigt svep 0 Ange ett värde för att seeda slumptalsgeneratorn för slumpmässig sökning
Sök efter Lägg till eller Avmarkera endast resultat Boolesk Obligatorisk Sant Välj för att ange att utdatauppsättningen måste innehålla indatauppsättning med tilldelningskolumnen tillagd. Avmarkera för att ange att endast tilldelningskolumnen ska vara utdata.

Utdata

Namn Typ Description
Bäst tränad modell ICluster-gränssnitt Tränad klustringsmodell
Resultatdatauppsättning Datatabell Indatauppsättning som läggs till av datakolumnen i endast tilldelningar eller tilldelningskolumner
Rensa resultat Datatabell Resulterande måttlogg för klustersökningskörningar

Undantag

Undantag Description
Fel 0003 Undantaget inträffar om en eller flera indata är null eller tomma.

En lista över fel som är specifika för Studio-moduler (klassisk) finns i Machine Learning felkoder.

En lista över API-undantag finns i Machine Learning REST API felkoder.

Se även

K-means-klustring
Tilldela data till kluster
Machine Learning/träna
Machine Learning/initiera modell/klustring