Delen via


Fisher Linear Discriminant Analysis

Belangrijk

De ondersteuning voor Azure Machine Learning-studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden om vóór die datum over te stappen naar Azure Machine Learning.

Vanaf 1 december 2021 kunt u geen nieuwe resources voor Azure Machine Learning-studio (klassiek) meer maken. Tot en met 31 augustus 2024 kunt u de bestaande resources van Azure Machine Learning-studio (klassiek) blijven gebruiken.

De documentatie van ML-studio (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet meer bijgewerkt.

Identificeert de lineaire combinatie van functievariabelen waarmee gegevens in afzonderlijke klassen kunnen worden gegroepeerd

Categorie: Functieselectiemodules

Notitie

Van toepassing op: Machine Learning Studio (klassiek)

Vergelijkbare modules voor slepen en neerzetten zijn beschikbaar in Azure Machine Learning designer.

Moduleoverzicht

In dit artikel wordt beschreven hoe u de module Linear Discriminant Analysis in Machine Learning Studio (klassiek) gebruikt om een nieuwe functieset te maken die de combinatie van functies vastschrijft die het beste twee of meer klassen van elkaar scheidt.

Deze methode wordt vaak gebruikt voor dimensionaliteitsvermindering, omdat deze een set functies projecteert op een kleinere functieruimte met behoud van de informatie die tussen klassen wordt gebruikt. Dit vermindert niet alleen de rekenkosten voor een bepaalde classificatietaak, maar kan ook helpen om overfitting te voorkomen.

Als u de scores wilt genereren, geeft u een labelkolom en een set numerieke functiekolommen op als invoer. Het algoritme bepaalt de optimale combinatie van de invoerkolommen die lineair elke groep gegevens scheidt en tegelijkertijd de afstanden binnen elke groep minimaliseert. De module retourneert een gegevensset met de compacte, getransformeerde functies, samen met een transformatie die u kunt opslaan en toepassen op een andere gegevensset.

Meer informatie over lineaire discriminantanalyse

Lineaire discriminantanalyse is vergelijkbaar met de analyse van afwijking (ANOVA) omdat deze werkt door de middelen van de variabelen te vergelijken. Net als bij ANOVA is het afhankelijk van deze veronderstellingen:

  • Voorspellers zijn onafhankelijk
  • De voorwaardelijke waarschijnlijkheidsdichtheidsfuncties van elke steekproef worden normaal verdeeld
  • Verschillen tussen groepen zijn vergelijkbaar

Lineaire discriminantanalyse wordt soms afgekort tot LDA, maar dit kan gemakkelijk worden verward met latente dilet-toewijzing. De technieken zijn totaal verschillend, dus in deze documentatie gebruiken we waar mogelijk de volledige namen.

Lineaire discriminantanalyse configureren

  1. Voeg uw invoergegevensset toe en controleer of de invoergegevens voldoen aan deze vereisten:

    • Uw gegevens moeten zo volledig mogelijk zijn. Rijen met ontbrekende waarden worden genegeerd.
    • Van waarden wordt verwacht dat ze een normale verdeling hebben. Voordat u Linear Linear Discriminant Analysis gebruikt, controleert u de gegevens op uitschieters of test u de distributie.
    • U zou minder voorspellingen moeten hebben dan er steekproeven zijn.
    • Verwijder alle niet-numerieke kolommen. Het algoritme onderzoekt alle geldige numerieke kolommen die zijn opgenomen in de invoer en retourneert een fout als er ongeldige kolommen zijn opgenomen. Als u numerieke kolommen wilt uitsluiten, voegt u een module Select Columns in Dataset toe vóór Linear Linear Discriminant Analysis om een weergave te maken die alleen de kolommen bevat die u wilt analyseren. U kunt de kolommen later opnieuw toevoegen met Behulp van Kolommen toevoegen. De oorspronkelijke volgorde van rijen blijft behouden.
  2. Verbinding maken invoergegevens naar de module Linear Discriminant Analysis van Linear Discriminant.

  3. Klik voor kolom Klasselabels op Kolom selector starten en kies één labelkolom.

  4. Bij Aantal functie-extractors typt u het aantal kolommen dat u als resultaat wilt hebben.

    Als uw gegevensset bijvoorbeeld acht numerieke functiekolommen bevat, 3 kunt u typen om ze samen te zetten in een nieuwe, beperkte functieruimte van slechts drie kolommen.

    Het is belangrijk om te begrijpen dat de uitvoerkolommen niet exact overeenkomen met de invoerkolommen, maar eerder een compacte transformatie van de waarden in de invoerkolommen vertegenwoordigen.

    Als u 0 gebruikt als de waarde voor Aantal functie-extractors en n kolommen worden gebruikt als invoer, worden n functie-extractors geretourneerd, die nieuwe waarden bevatten die de n-dimensionale functieruimte vertegenwoordigen.

  5. Voer het experiment uit.

Resultaten

Het algoritme bepaalt de combinatie van waarden in de invoerkolommen die lineair elke groep gegevens scheidt, terwijl de afstanden binnen elke groep worden geminimaliseert, en maakt twee uitvoer:

  • Getransformeerde functies. Een gegevensset met het opgegeven aantal functie-extractorkolommen, genaamd col1, col2, col3, enzovoort. De uitvoer bevat ook de klasse- of labelvariabele.

    U kunt deze compacte set waarden gebruiken voor het trainen van een model.

  • Lineaire analysetransformatie voor lineaire discriminatie. Een transformatie die u kunt opslaan en vervolgens kunt toepassen op een gegevensset met hetzelfde schema. Dit is handig als u veel gegevenssets van hetzelfde type analyseert en op elke gegevensset dezelfde functiebeperking wilt toepassen. De gegevensset waar u deze op wilt toepassen, moet hetzelfde schema hebben.

Voorbeelden

Voor voorbeelden van functieselectie in machine learning, zie de Azure AI Gallery:

Technische opmerkingen

Deze sectie bevat implementatiedetails, tips en antwoorden op veelgestelde vragen.

Gebruikstips

  • Deze methode werkt alleen voor doorlopende variabelen, niet voor categorische of ordinale variabelen.

  • Rijen met ontbrekende waarden worden genegeerd bij het berekenen van de transformatiematrix.

  • Als u een transformatie van een experiment opgeslagen, worden de transformaties die worden berekend op basis van het oorspronkelijke experiment opnieuw toegepast op elke nieuwe set gegevens en worden ze niet opnieuw berekend. Als u daarom een nieuwe functieset voor elke set gegevens wilt berekenen, gebruikt u een nieuw exemplaar van Linear Linear Discriminant Analysis voor elke gegevensset.

Implementatiegegevens

De gegevensset met functies wordt getransformeerd met behulp van eigenvectoren. De eigenvectoren voor de invoerset worden berekend op basis van de opgegeven functiekolommen, ook wel een matrix van kenmerken genoemd.

De transformatie-uitvoer van de module bevat deze eigenvectoren, die kunnen worden toegepast om een andere gegevensset met hetzelfde schema te transformeren.

Zie dit document (PDF): Op eigenvector gebaseerde functieextractie voor classificatie voor meer informatie over hoe de eigenwaarden worden berekend. Tymbal, Puuronen et al.

Verwachte invoer

Naam Type Description
Gegevensset Gegevenstabel Invoerset

Moduleparameters

Naam Type Bereik Optioneel Standaard Beschrijving
Kolom Klasselabels ColumnSelection Vereist Geen Selecteer de kolom die de categorische klasselabels bevat
Aantal functie-extractors Geheel getal >= 0 Vereist 0 Het aantal functie-extractors dat moet worden gebruikt. Als nul, worden alle functie-extractors gebruikt

Uitvoerwaarden

Naam Type Description
Getransformeerde functies Gegevenstabel Lineaire analysefuncties voor lineaire discriminatie getransformeerd naar eigenvectorruimte
Lineaire analysetransformatie voor lineaire discriminant ITransform-interface Transformatie van lineaire lineaire discriminatieanalyse

Uitzonderingen

Uitzondering Description
Fout 0001 Er treedt een uitzondering op als een of meer opgegeven kolommen met gegevenssets niet kunnen worden gevonden.
Fout 0003 Uitzondering treedt op als een of meer invoer null of leeg zijn.
Fout 0017 Uitzondering treedt op als voor een of meer opgegeven kolommen type niet wordt ondersteund door de huidige module.

Zie Foutcodes voor een lijst met fouten die specifiek zijn Machine Learning voor Studio-modules (klassiek).

Zie Foutcodes voor een lijst Machine Learning REST API API-uitzonderingen.

Zie ook

Functieselectie
Functieselectie op basis van filters
Analyse van hoofdcomponenten