Ersätta diskreta värden

Ersätter diskreta värden från en kolumn med numeriska värden baserat på en annan kolumn

Kategori: Statistiska funktioner

Anteckning

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

Det här innehållet gäller endast Studio (klassisk). Liknande dra-och släpp moduler har lagts till i Azure Machine Learning designer. Mer information i den här artikeln är att jämföra de två versionerna.

Modulöversikt

Den här artikeln beskriver hur du använder modulen Ersätt diskreta värden i Azure Machine Learning Studio (klassisk) för att generera en sannolikhetspoäng som kan användas för att representera ett diskret värde. Den här poängen kan vara användbar för att förstå informationsvärdet för de diskreta värdena.

Så här fungerar det:

Du väljer en kolumn som innehåller det diskreta (eller kategoriska) värdet och väljer sedan en annan kolumn som ska användas som referens.

Beroende på om den andra kolumnen är kategorisk eller icke-kategorisk beräknar modulen något av följande värden:

  • Den villkorliga sannolikheten för den andra kolumnen givet värdena i den första kolumnen.
  • Medelvärdet och standardavvikelsen för varje grupp med värden i den första kolumnen.

Modulen matar ut både en datauppsättning med poängen och en funktion som du kan spara och tillämpa på andra datauppsättningar.

Så här konfigurerar du Ersätt diskreta värden

Tips

Vi rekommenderar att du bara arbetar med ett par kolumner i taget. Modulen höjer inte ett fel om du väljer flera kolumner att analysera. Men om du väljer flera kolumner matchas de i praktiken av en intern heuristik, inte av urvalsordningen.

Därför rekommenderar vi att du väljer ett enda kolumnpar varje gång, en för Diskreta kolumner och en för Ersättningskolumner.

Om du behöver generera poäng för flera kolumner använder du separata instanser av Ersätt diskreta värden.

  1. Lägg till modulen Ersätt diskreta värden i experimentet. Du hittar den här modulen i gruppen Statistiska funktioner i listan med experimentobjekt i Azure Machine Learning Studio (klassisk).

  2. Anslut en datauppsättning som innehåller minst en kolumn med kategoriska data.

  3. Diskreta kolumner: Klicka på Starta kolumnväljaren för att välja en kolumn som innehåller diskreta (eller kategoriska) värden.

    Alla diskreta kolumner som du väljer måste vara kategoriska. Om du får ett felmeddelande använder du modulen Redigera metadata för att ändra kolumntypen.

  4. Ersättningskolumner: Klicka på Starta kolumnväljaren för att välja den kolumn som innehåller de värden som ska användas för att beräkna en ersättningspoäng.

    Om du väljer flera kolumner för Diskreta kolumner måste du välja samma antal ersättningskolumner.

  5. Kör experimentet.

    Anteckning

    Du kan inte välja vilken statistisk funktion som ska användas. Modulen beräknar ett lämpligt mått baserat på datatypen för kolumnen som valts för ersättningskolumnen.

Resultat

Modulen beräknar ett av följande värden för varje kolumnpar:

  • Om den andra kolumnen innehåller kategoriska värden beräknar modulen den villkorliga sannolikheten för den andra kolumnen, beroende på värdena i den första kolumnen.

    Anta till exempel att du valde occupation från censusdatauppsättningen som diskret kolumn och väljer gender som ersättningskolumn. Utdata från modulen är:

    P(gender | occupation)

  • Om den andra kolumnen innehåller icke-kategoriska värden som kan konverteras till tal (till exempel numeriska eller booleska värden som inte markerats som kategoriska) matar modulen ut medelvärdet och standardavvikelsen för varje grupp med värden i den första kolumnen.

    Anta till exempel att du använder occupation som diskret kolumn och att den andra kolumnen är den numeriska kolumnen hours-per-week . Modulen skulle mata ut följande nya värden:

    Mean(hours-per-week | occupation)

    Std-Dev(hours-per-week | occupation)

Förutom sannolikhetspoängen matar modulen även ut en transformerad datamängd. I den här datauppsättningen ersätts kolumnen som valts som Ersättningskolumner med en kolumn som innehåller de beräknade poängen.

Tips

Kolumnerna i källdatauppsättningen ändras eller tas inte bort av åtgärden. Poängkolumnerna är nya som genereras av modulen och utdata i stället för källdata.

Om du vill visa källvärdena tillsammans med sannolikhetspoängen använder du modulen Lägg till kolumner.

Exempel

Användningen av Ersätt diskreta värden kan illustreras med några enkla exempel.

Exempel 1 – Ersätta ett kategoriskt värde med en sannolikhetspoäng

Följande tabell innehåller en kategorisk kolumn X och en kolumn Y med true/false-värden som behandlas som kategoriska värden. När du använder Ersätt diskreta värden beräknas en villkorsstyrd sannolikhetspoäng för sannolikheten för Y givet X, som visas i den tredje kolumnen.

X Y P(Y|X)
Blue 0 P(Y=0|X=Blue) = 0.5
Blue 1 P(Y=1|X=Blue) = 0.5
Green 0 P(Y=0|X=Green) = 2/3
Green 0 P(Y=0|X=Green) = 2/3
Green 1 P(Y=1|X=Green) = 1/3
Red 0 P(Y=0|X=Red) = .75
Red 0 P(Y=0|X=Red) = .75
Red 1 P(Y=1|X=Red) = .25
Red 0 P(Y=0|X=Red) = .75

Exempel 2 – Beräkna medelvärde och standardavvikelse baserat på en icke-kategorisk kolumn

När den andra kolumnen är numerisk beräknar Ersätt diskreta värden medelvärdet och standardavvikelsen i stället för en villkorsstyrd sannolikhetspoäng.

Följande exempel baseras på exempeldatamängden Autopriser, förenklad enligt följande:

  • En liten delmängd kolumner har valts.

  • Endast de översta 30 raderna extraherades med hjälp av alternativet Huvud i modulen Partition och Exempel.

  • Modulen Ersätt diskreta värden användes för att beräkna medelvärdet och standardavvikelsen för fordonsvikt. givet den kategoriska kolumnen num-of-doors , .

I följande tabell visas resultatet:

Brödtext Antal dörrar Tjänstevikt Medelvärde (tjänstevikt|flera dörrar) Std-Dev(tjänstevikt|flera dörrar)
st.av två 2548 2429.785714 507.45699
st.av Fyra 2337 2625.6 493.409877
st.av två 2507 2429.785714 507.45699
Turbo Fyra 3086 2625.6 5 493.409877
st.av Fyra 1989 2625.6 493.409877
Turbo 2191
st.av Fyra 2535 2625.6 493.409877

Du kan kontrollera medelvärdet för varje grupp med värden med hjälp av AVERAGEIF funktionen i Excel.

Exempel 3 – Hantera saknade värden

Det här exemplet visar hur saknade värden (nullvärden) sprids till resultaten när villkorliga sannolikhetspoäng beräknas.

  • Om den diskreta värdekolumnen och beräkningskolumnen innehåller saknade värden sprids de saknade värdena till den nya kolumnen.

  • Om den diskreta värdekolumnen endast innehåller saknade värden kan modulen inte bearbeta kolumnen och ett felmeddelande visas.

X Y P(Y|X)
1 Sant P(Y=true|X=1) = 1/2
1 Falskt P(Y=false|X=1) = 1/2
2 Sant P(Y=true|X=2) = 1/3
2 Falskt P(Y=false|X=2) = 1/3
2 Null P(Y=null|X=2) = null

Teknisk information

  • Du måste se till att alla diskreta kolumner som du vill ersätta är kategoriska, annars returnerar modulen ett fel. Det gör du med hjälp av modulen Redigera metadata.

  • Om den andra kolumnen innehåller booleska värden bearbetas True-False som numeriska med FALSE respektive TRUE motsvarande 0 respektive 1.

  • Formeln för kolumnen standardavvikelse beräknar populationens standardavvikelse. Därför används N i nämnaren i stället för (N -1).

  • Om den andra kolumnen innehåller icke-kategoriska data (numeriska eller booleska värden) beräknar modulen medelvärdet och standardavvikelsen för Y för det angivna värdet för X.

    Det vill säga för varje rad i datauppsättningen som indexeras av i :

    Mean(Y│X)i = Mean(Y│X = Xi)

    StdDev(Y│X)i = StdDev(Y│X = Xi)

  • Om den andra kolumnen innehåller kategoriska data eller värden som varken är numeriska eller booleska beräknar modulen den villkorliga sannolikheten för Y för det angivna värdet X.

  • Booleska värden i den andra kolumnen bearbetas som numeriska data med FALSE respektive TRUE motsvarande 0 respektive 1.

  • Om det finns en klass i den diskreta kolumnen, så att en rad med ett saknat värde finns i den andra kolumnen, är summan av villkorliga sannolikheter i klassen mindre än en.

Förväntade indata

Namn Typ Description
Datamängd Datatabell Indatauppsättning

Modulparametrar

Name Intervall Typ Standardvärde Description
Diskreta kolumner Valfri ColumnSelection Markerar de kolumner som innehåller diskreta värden
Ersättningskolumner Valfri ColumnSelection Markerar de kolumner som innehåller de data som ska användas i stället för diskreta värden

Utdata

Namn Typ Description
Datamängd för väleta Datatabell Datauppsättning med ersatta data
Transformeringsfunktion ITransform-gränssnitt Definition av transformeringsfunktionen, som kan tillämpas på andra datauppsättningar

Undantag

Undantag Description
Fel 0001 Undantaget inträffar om det inte gick att hitta en eller flera angivna kolumner i datauppsättningen.
Fel 0003 Undantag inträffar om en eller flera indata är null eller tomma.
Fel 0020 Undantaget inträffar om antalet kolumner i vissa datauppsättningar som skickas till modulen är för litet.
Fel 0021 Undantaget inträffar om antalet rader i vissa datauppsättningar som skickas till modulen är för litet.
Fel 0017 Undantaget inträffar om en eller flera angivna kolumner har en typ som inte stöds av den aktuella modulen.
Fel 0026 Undantag inträffar när kolumner med samma namn inte tillåts.
Fel 0022 Undantaget inträffar om antalet valda kolumner i indatauppsättningen inte är lika med det förväntade antalet.

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

Statistikfunktioner