Byggräkningstransform
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.
- Se information om hur du flyttar maskininlärningsprojekt från ML Studio (klassisk) till Azure Machine Learning.
- Läs mer om Azure Machine Learning.
Dokumentationen om ML Studio (klassisk) håller på att dras tillbaka och kanske inte uppdateras i framtiden.
Skapar en transformering som omvandlar count-tabeller till funktioner, så att du kan tillämpa transformeringen på flera datauppsättningar
Kategori: Learning med antal
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
I den här artikeln beskrivs hur du använder modulen Build Counting Transform i Machine Learning Studio (klassisk) för att analysera träningsdata. Utifrån dessa data skapar modulen en antalstabell samt en uppsättning antalsbaserade funktioner som kan användas i en förutsägelsemodell.
En count-tabell innehåller den gemensamma fördelningen av alla egenskapskolumner, givet en angiven etikettkolumn. Sådan statistik är användbar för att avgöra vilka kolumner som har mest informationsvärde. Antalsbaserad featurisering är användbart eftersom sådana funktioner är mer kompakta än ursprungliga träningsdata, men samlar in all användbar information. Du kan använda modulparametrarna för att anpassa hur antalet omvandlas till den nya uppsättningen med antalsbaserade funktioner.
När du har genererat antal och omvandlat dem till funktioner kan du spara processen som en transformering för vidare användning av relaterade data. Du kan också ändra uppsättningen funktioner utan att behöva generera en ny uppsättning antal eller slå samman antal och funktioner med en annan uppsättning antal och funktioner.
Möjligheten att använda och tillämpa antalsbaserade funktioner på nya sätt är användbart i scenarier som dessa:
- Nya data blir tillgängliga för att förbättra täckningen eller balansen för din datauppsättning.
- Dina ursprungliga antal och funktioner baserades på en mycket stor datamängd som du inte vill bearbeta om. Genom att slå samman antalen kan du uppdatera med nya data.
- Du vill se till att samma uppsättning count-baserade funktioner tillämpas på alla datauppsättningar som du använder i experimentet.
Så här konfigurerar du buildräkningstransform
Du kan skapa en antalsbaserad funktionstransformering direkt från en datauppsättning och köra den varje gång du kör ett experiment. Eller så kan du generera en uppsättning antal och sedan sammanfoga den med nya data för att skapa en uppdaterad antalstabell.
Skapa antalsbaserade funktioner från en datauppsättning
Börja här om du inte har skapat antal tidigare. Du använder modulen Build Counting Transform ( Byggräkningstransform) för att skapa antalstabeller och automatiskt generera en uppsättning funktioner.
Den här processen skapar en funktionstransformering som du kan tillämpa på en datauppsättning med hjälp av modulen Tillämpa transformering.
Sammanfoga antal och funktioner från flera datauppsättningar
Om du redan har genererat en count-tabell från en tidigare datauppsättning, genererar du antal på bara nya data eller importerar en befintlig antalstabell som skapats i en tidigare version av Machine Learning. Sammanfoga sedan de två uppsättningarna med count-tabeller
Den här processen skapar en ny funktionstransformering som du kan tillämpa på en datauppsättning med hjälp av modulen Tillämpa transformering.
Skapa antalsbaserade funktioner från en datauppsättning
I Machine Learning Studio (klassisk) lägger du till modulen Build Counting Transform (Byggräkningstransform) i experimentet. Du hittar modulen under Datatransformering i kategorin Learning antal.
Anslut den datamängd som du vill använda som grund för våra antalsbaserade funktioner.
Använd alternativet Antal klasser för att ange antalet värden i etikettkolumnen.
- För binära klassificeringsproblem skriver du
2
. - För ett klassificeringsproblem med fler än två möjliga utdata måste du i förväg ange det exakta antalet klasser som ska räknas. Om du anger ett tal som är mindre än det faktiska antalet klasser returnerar modulen ett fel.
- Om datauppsättningen innehåller flera klassvärden och klassetikettvärdena inte är sekventiella måste du använda Redigera metadata för att ange att kolumnen innehåller kategoriska värden.
- För binära klassificeringsproblem skriver du
För alternativet Bits för hash-funktionen anger du hur många bitar som ska användas när värdena hashas.
Det är vanligtvis säkert att acceptera standardvärdena, såvida du inte vet att det finns många värden att räkna och ett högre bitantal kan behövas.
I Hash-funktionens startvärde kan du välja att ange ett värde för att seeda hashing-funktionen. Att ange ett startvärdet manuellt görs vanligtvis när du vill säkerställa att hash-resultatet är deterministiskt mellan körningar av samma experiment.
Använd alternativet Modultyp för att ange vilken typ av data du ska räkna, baserat på lagringsläget:
Datauppsättning: Välj det här alternativet om du räknar data som sparas som en datauppsättning i Machine Learning Studio (klassisk).
Blob: Välj det här alternativet om dina källdata som används för att skapa antal lagras som en blockblob Windows Azure Storage.
MapReduce: Välj det här alternativet om du vill anropa Funktionerna Map/Reduce för att bearbeta data.
Om du vill använda det här alternativet måste nya data anges som en blob i Windows Azure Storage och du måste ha åtkomst till ett distribuerat HDInsight-kluster. När du kör experimentet startas ett Map/Reduce-jobb i klustret för att utföra inventeringen.
För mycket stora datamängder rekommenderar vi att du använder det här alternativet när det är möjligt. Även om du kan medföra ytterligare kostnader för att använda HDInsight-tjänsten kan beräkningar över stora datamängder bli snabbare i HDInsight.
Mer information finns i https://azure.microsoft.com/services/hdinsight/.
När du har specificerat datalagringsläget anger du eventuell ytterligare anslutningsinformation för de data som krävs:
- Om du använder data från Hadoop eller bloblagring anger du klustrets plats och autentiseringsuppgifter.
- Om du tidigare använde en importdatamodul i experimentet för att komma åt data måste du ange kontonamnet och dina autentiseringsuppgifter på nytt. Modulen Build Counting Transform (Byggräkningstransform) har separat åtkomst till datalagringen för att kunna läsa data och skapa de tabeller som krävs.
För Etikettkolumn eller index väljer du en kolumn som etikettkolumn.
En etikettkolumn krävs. Kolumnen måste redan vara markerad som en etikett, annars utlöses ett fel.
Använd alternativet Välj kolumner att räkna och välj de kolumner som du vill generera antal för.
I allmänhet är de bästa kandidater högdimensionella kolumnerna tillsammans med andra kolumner som är korrelerade med dessa kolumner.
Använd alternativet Antal tabelltyper för att ange det format som används för att lagra count-tabellen.
Ordlista: Skapar en tabell för ordlisteantal. Alla kolumnvärden i de valda kolumnerna behandlas som strängar och hashas med hjälp av en bitmatris med en storlek på upp till 31 bitar. Därför representeras alla kolumnvärden av ett icke-negativt 32-bitars heltal.
I allmänhet bör du använda det här alternativet för mindre datamängder (mindre än 1 GB) och använda alternativet CMSketch för större datamängder.
När du har valt det här alternativet konfigurerar du antalet bitar som används av hash-funktionen och anger ett startvärdet för att initiera hash-funktionen.
CMSketch: Skapar en minsta skisstabell för antal. Med det här alternativet används flera oberoende hash-funktioner med ett mindre intervall för att förbättra minneseffektiviteten och minska risken för hash-kollisioner. Parametrarna för hash-bitstorlek och hash-seed har ingen effekt på det här alternativet.
Kör experimentet.
Modulen skapar en featuriseringstransformering som du kan använda som indata till modulen Tillämpa transformering. Utdata från modulen Tillämpa transformering är en transformerad datauppsättning som kan användas för att träna en modell.
Du kan också spara transformeringen om du vill sammanfoga uppsättningen med antal-baserade funktioner med en annan uppsättning antalsbaserade funktioner. Mer information finns i Sammanfoga antal transformeringar.
Sammanfoga antal och funktioner från flera datauppsättningar
I Machine Learning Studio (klassisk) lägger du till modulen Build Counting Transform (Byggräkningstransform) i experimentet och ansluter datauppsättningen som innehåller de nya data som du vill lägga till.
Använd alternativet Modultyp för att ange källan för nya data. Du kan slå samman data från olika källor.
Datauppsättning: Välj det här alternativet om nya data tillhandahålls som en datauppsättning i Machine Learning Studio (klassisk).
Blob: Välj det här alternativet om nya data tillhandahålls som en blockblob i Windows Azure Storage.
MapReduce: Välj det här alternativet om du vill anropa Funktionerna Map/Reduce för att bearbeta data.
Om du vill använda det här alternativet måste nya data anges som en blob i Windows Azure Storage och du måste ha åtkomst till ett distribuerat HDInsight-kluster. När du kör experimentet startas ett Map/Reduce-jobb i klustret för att utföra inventeringen.
För ytterligare information, se https://azure.microsoft.com/services/hdinsight/
När du har specificerat datalagringsläget anger du eventuell ytterligare anslutningsinformation för nya data:
Om du använder data från Hadoop eller bloblagring anger du klustrets plats och autentiseringsuppgifter.
Om du tidigare använde en importdatamodul i experimentet för att komma åt data måste du ange kontonamnet och dina autentiseringsuppgifter på nytt. Anledningen är att modulen Byggräkningstransform använder datalagring separat för att läsa data och skapa de tabeller som krävs.
Vid sammanslagning av antal måste följande alternativ vara exakt desamma i båda antalstabellerna:
- Antal klasser
- Bitarna i hash-funktionen
- Startvärdet för hash-funktionen
- Välj kolumner som ska räknas
Etikettkolumnen kan vara olika, så länge den innehåller samma antal klasser.
Använd alternativet Antal tabelltyper för att ange format och mål för den uppdaterade antalstabellen.
Tips
Formatet för de två count-tabellerna som du vill sammanslå måste vara samma. Om du sparade en tidigare count-tabell med ordlisteformatet kan du med andra ord inte sammanfoga den med antal som sparats med hjälp av CMSketch-formatet.
Kör experimentet.
Modulen skapar en featuriseringstransformering som du kan använda som indata för modulen Tillämpa transformering. Utdata från modulen Tillämpa transformering är en transformerad datauppsättning som kan användas för att träna en modell.
Information om hur du sammanfogar den här uppsättningen antal med en befintlig uppsättning count-baserade funktioner finns i Sammanfoga antal transformeringar.
Exempel
I de här artiklarna finns mer information om algoritmen för antal och hur effektiv count-based modeling är jämfört med andra metoder.
Följande experiment i Azure AI Gallery visar hur du använder count-based learning för att skapa olika förutsägelsemodeller:
- Learning med antal – binär klassificering
- Learning med antal: Klassificering med flera klasser med data från taxibilar i New York
- Learning med antal: Binär klassificering med NYC-taxidata
Modulparametrar
Följande parametrar används med alla alternativ:
Namn | Typ | Intervall | Valfritt | Standardvärde | Description |
---|---|---|---|---|---|
Antal klasser | Integer | >=2 | Obligatorisk | 2 | Antalet klasser för etiketten. |
Bitarna i hash-funktionen | Integer | [12;31] | Obligatorisk | 20 | Antalet bitar i hash-funktionens intervall. |
Startvärdet för hash-funktionen | Integer | valfri | Obligatorisk | 1 | Startvärdet för hash-funktionen. |
Modultyp | Obligatorisk | Datamängd | Den typ av modul som ska användas när du genererar count-tabellen. | ||
Antal tabelltyper | CountTableType | välj från listan | Obligatorisk | Ordlista | Ange formatet för count-tabellen. |
Följande alternativ gäller när du väljer blob-alternativet .
Namn | Typ | Intervall | Valfritt | Standardvärde | Description |
---|---|---|---|---|---|
Blobnamn | Sträng | valfri | Obligatorisk | Namnet på indatabloben. Ta inte med containernamn. | |
Kontonamn | Sträng | valfri | Obligatorisk | Namnet på lagringskontot. | |
Kontonyckel | SecureString | valfri | Obligatorisk | Nyckeln för lagringskontot. | |
Containerns namn | Sträng | valfri | Obligatorisk | Azure-blobcontainern som innehåller indatabloben. | |
Antal kolumner | Sträng | valfri | Obligatorisk | De en-baserade indexen med grupper av kolumner som ska räknas. | |
Etikettkolumn | Integer | >=1 | Obligatorisk | 1 | Det ettbaserade indexet för etikettkolumnen. |
Blobformat | valfri | Obligatorisk | CSV | Blob-textfilformatet. |
Följande parametrar gäller när du använder MapReduce för att generera antal:
Namn | Typ | Intervall | Valfritt | Standardvärde | Description |
---|---|---|---|---|---|
Namn på standardlagringskonto | Sträng | valfri | Obligatorisk | inget | Namnet på lagringskontot som innehåller indatabloben. |
Standardlagringskontonyckel | SecureString | valfri | Obligatorisk | inget | Nyckeln för lagringskontot som innehåller indatabloben. |
Standardcontainernamn | Sträng | valfri | Obligatorisk | inget | Namnet på blobcontainern för att skriva count-tabellen. |
Kluster-URI | Sträng | valfri | Obligatorisk | inget | URI:en till HDInsight Hadoop-klustret. |
Användarnamn | Sträng | valfri | Obligatorisk | inget | Användarnamnet för att logga in på HDInsight Hadoop-klustret. |
Följande parametrar definierar formatet för count-tabellen:
Namn | Typ | Intervall | Valfritt | Standardvärde | Description |
---|---|---|---|---|---|
Antal tabelltyper | CountTableType | Lista | Obligatorisk | Ordlista | Typ av count-tabell. |
Kolumnindex eller namn för etikett | ColumnSelection | Krävs om count-tabellen har sparats som datauppsättning | inget | Välj etikettkolumnen. | |
Välj kolumner som ska räknas | ColumnSelection | Krävs om count-tabellen har sparats som datauppsättning | Välj kolumner för inventering. Dessa kolumner betraktas som kategoriska funktioner. | ||
Djup i CM-skisstabellen | Integer | >= 1 | Krävs om count-tabellen använder CMSketch-format | 4 | Djupet i CM-skisstabellen, som är lika med antalet hash-funktioner. |
Bredden på CM-skisstabellen | Integer | [1;31] | Krävs om count-tabellen använder CMSketch-format | 20 | Bredden på CM-skisstabellen, som är antalet bitar av hash-funktionens intervall. |
Kolumnindex för etikett eller namnkolumn | ColumnSelection | Krävs om count-tabellen har sparats som datauppsättning | Markerar etikettkolumnen. | ||
Välj kolumner som ska räknas | ColumnSelection | Krävs om count-tabellen har sparats som datauppsättning | Väljer kolumner för inventering. Dessa kolumner betraktas som kategoriska funktioner. | ||
Antal tabelltyper | Krävs om count-tabellen har sparats som datauppsättning | Ordlista | Anger typen av count-tabell. | ||
Djup i CM-skisstabellen | Integer | >= 1 | Krävs om count-tabellen har sparats som CMSketch | 4 | Skisstabelldjupet i CM, som är lika med antalet hash-funktioner. |
Bredden på CM-skisstabellen | Integer | [1;31] | Krävs om count-tabellen har sparats som CMSketch | 20 | Cm-skisstabellens bredd, som är antalet bitar för hash-funktionens intervall. |
Utdata
Namn | Typ | Description |
---|---|---|
Räkna transformering | ITransform-gränssnitt | Beräkningstransformen. |
Undantag
Undantag | Description |
---|---|
Fel 0003 | Undantag inträffar om en eller flera indata är null eller tomma. |
Fel 0004 | Undantag inträffar om parametern är mindre än eller lika med ett visst värde. |
Fel 0005 | Undantag inträffar om parametern är mindre än ett specifikt värde. |
Fel 0007 | Undantag inträffar om parametern är större än ett visst värde. |
Fel 0009 | Undantag inträffar om Azure Storage-kontonamnet eller containernamnet har angetts felaktigt. |
Fel 0065 | Undantag inträffar om Azure-blobnamnet har angetts felaktigt. |
Fel 0011 | Undantaget inträffar om det skickade kolumnuppsättningsargumentet inte gäller för någon av datauppsättningskolumnerna. |
Fel 0049 | Undantag inträffar när det inte går att parsa en fil. |
Fel 1000 | Internt biblioteksfel. |
Fel 0059 | Undantag inträffar om ett kolumnindex som anges i en kolumnväljare inte kan parsas. |
Fel 0060 | Undantag inträffar när ett kolumnintervall utanför intervallet anges i en kolumnväljare. |
Fel 0089 | Undantag inträffar när det angivna antalet klasser är mindre än det faktiska antalet klasser i en datauppsättning som används för att räkna. |
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.