Share via


Linjär diskriminant analys för Fisher

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.

Identifierar den linjära kombinationen av funktionsvariabler som bäst kan gruppera data i separata klasser

Kategori: Funktionsvalsmoduler

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 För linjär analys av Fisher i Machine Learning Studio (klassisk) för att skapa en ny funktionsdatauppsättning som samlar in en kombination av funktioner som bäst avgränsar två eller flera klasser.

Den här metoden används ofta för att minska antalet dimensioner, eftersom den projekterar en uppsättning funktioner i ett mindre funktionsutrymme samtidigt som den information som finns mellan klasser bevaras. Detta minskar inte bara beräkningskostnaderna för en viss klassificeringsuppgift, utan kan även förhindra överanpassad aktivitet.

För att generera poängen anger du en etikettkolumn och en uppsättning numeriska egenskapskolumner som indata. Algoritmen avgör den optimala kombinationen av indatakolumnerna som linjärt avgränsar varje datagrupp samtidigt som avståndet i varje grupp minimeras. Modulen returnerar en datauppsättning som innehåller de kompakta, transformerade funktionerna, tillsammans med en transformering som du kan spara och tillämpa på en annan datamängd.

Mer om linjär diskriminant analys

Linjär diskriminant analys liknar analys av varians (ANOVA) på så sätt att den fungerar genom att jämföra variablerna. Precis som ANOVA förlitar den sig på följande antaganden:

  • Förutsägelserna är oberoende
  • De villkorliga sannolikhetsdensitetsfunktionerna i varje urval distribueras normalt
  • Varianser mellan grupper är liknande

Linjär diskriminant analys förkortas ibland till LDA, men detta är lätt att förväxla med Latent Dirichlet-allokering. Teknikerna är helt olika, så i den här dokumentationen använder vi fullständiga namn där det är möjligt.

Så här konfigurerar du linjär diskriminant analys

  1. Lägg till indatauppsättningen och kontrollera att indata uppfyller följande krav:

    • Dina data bör vara så fullständiga som möjligt. Rader med eventuella saknade värden ignoreras.
    • Värden förväntas ha en normalfördelning. Innan du använder Fisher Linear Discriminant Analysis granskar du data för avvikande värden eller testar fördelningen.
    • Du bör ha färre prediktorer än det finns exempel.
    • Ta bort alla icke-numeriska kolumner. Algoritmen undersöker alla giltiga numeriska kolumner som ingår i indata och returnerar ett fel om ogiltiga kolumner ingår. Om du behöver undanta numeriska kolumner lägger du till modulen Välj kolumner i datamängd före Fisher Linear Discriminant Analysis för att skapa en vy som endast innehåller de kolumner som du vill analysera. Du kan återansluta kolumnerna senare med hjälp av Lägg till kolumner. Den ursprungliga ordningen för rader bevaras.
  2. Anslut indata till modulen Fisher Linear Discriminant Analysis.

  3. För kolumnen Klassetiketter klickar du på Starta kolumnväljaren och väljer en etikettkolumn.

  4. I Antal funktionsutdrag anger du det antal kolumner som du vill ha som resultat.

    Om din datauppsättning till exempel innehåller åtta numeriska 3 egenskapskolumner kan du skriva för att komprimera dem till ett nytt, reducerat funktionsutrymme med endast tre kolumner.

    Det är viktigt att förstå att utdatakolumnerna inte exakt motsvarar indatakolumnerna, utan snarare representerar en kompakt omvandling av värdena i indatakolumnerna.

    Om du använder 0 som värde för Antal funktionsutdrag och n kolumner används som indata returneras n funktionsutdrag som innehåller nya värden som representerar det n-dimensionella funktionsutrymmet.

  5. Kör experimentet.

Resultat

Algoritmen avgör kombinationen av värden i indatakolumnerna som linjärt avgränsar varje grupp med data samtidigt som avståndet i varje grupp minimeras och skapar två utdata:

  • Transformerade funktioner. En datauppsättning som innehåller det angivna antalet kolumner för funktionsutdrag med namnet col1, col2, col3 och så vidare. Utdata innehåller även variabeln klass eller etikett.

    Du kan använda den här kompakta uppsättningen värden för att träna en modell.

  • Fishers linjära diskriminantanalysomvandling. En transformering som du kan spara och sedan tillämpa på en datauppsättning som har samma schema. Detta är användbart om du analyserar många datauppsättningar av samma typ och vill tillämpa samma funktionsminskning på var och en. Datauppsättningen som du tillämpar den på ska ha samma schema.

Exempel

Exempel på funktionsval i maskininlärning finns i Azure AI Gallery:

Teknisk information

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

Användningstips

  • Den här metoden fungerar bara på kontinuerliga variabler, inte kategoriska variabler eller ordningstalsvariabler.

  • Rader med saknade värden ignoreras när transformeringsmatrisen beräknas.

  • Om du sparar en transformering från ett experiment, tillämpas omvandlingarna som beräknas från det ursprungliga experimentet på nytt till varje ny datauppsättning och beräknas inte om. Om du vill beräkna en ny funktionsuppsättning för varje uppsättning data använder du därför en ny instans av Fisher Linear Discriminant Analysis för varje datauppsättning.

Implementeringsdetaljer

Datamängden med funktioner omvandlas med egenvektorer. Egenvektorerna för indatauppsättningen beräknas baserat på de angivna egenskapskolumnerna, som även kallas för en matris med matriser av matrisen.

Modulens transformeringsutdata innehåller dessa egenvektorer, som kan användas för att transformera en annan datauppsättning som har samma schema.

Mer information om hur egenvärden beräknas finns i det här dokumentet (PDF): Egenvektorbaserad extrahering av funktioner för klassificering. Tymbal, Pupulnen et al.

Förväntade indata

Namn Typ Description
Datamängd Datatabell Indatauppsättning

Modulparametrar

Namn Typ Intervall Valfritt Standardvärde Description
Kolumnen Klassetiketter ColumnSelection Obligatorisk Ingen Välj den kolumn som innehåller kategoriska klassetiketter
Antal funktionsutdrag Integer >= 0 Obligatorisk 0 Antal funktionsutdrag som ska användas. Om noll används alla funktionsutdrag

Utdata

Namn Typ Description
Omvandlade funktioner Datatabell Fishers linjära diskriminantanalysfunktioner omvandlas till egenvektorutrymme
Fishers linjära diskriminantanalysomvandling ITransform-gränssnitt Transformering av linjär diskriminant analys från Fisher

Undantag

Undantag Description
Fel 0001 Undantaget inträffar om det inte gick att hitta en eller flera angivna kolumner i datauppsättningen.
Fel 0003 Undantaget inträffar om en eller flera indata är null eller tomma.
Fel 0017 Undantaget inträffar om en eller flera angivna kolumner har typen stöds inte av den aktuella modulen.

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

Funktionsval
Filterbaserat funktionsval
Analys av huvudkomponent