Functieselectie op basis van filters

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 functies in een gegevensset met de grootste voorspellende kracht

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 Filter Based Feature Selection in Machine Learning Studio (klassiek) gebruikt om de kolommen in uw invoerset te identificeren die de grootste voorspellende kracht hebben.

Over het algemeen verwijst functieselectie naar het proces van het toepassen van statistische tests op invoer, op basis van een opgegeven uitvoer, om te bepalen welke kolommen beter voorspellend zijn voor de uitvoer. De module Filter Based Feature Selection biedt meerdere selectiealgoritmen waaruit u kunt kiezen, waaronder correlatiemethoden zoals de correlatie van Pearsons of Kendall, wederzijdse gegevensscores en chi-kwadraatwaarden. Machine Learning ondersteunt ook functiewaardetellingen als indicator van de informatiewaarde.

Wanneer u de module Filter Based Feature Selection gebruikt, geeft u een gegevensset op, identificeert u de kolom die het label of de afhankelijke variabele bevat en geeft u vervolgens één methode op die u kunt gebruiken om het belang van functies te meten.

De module geeft een gegevensset weer die de beste functiekolommen bevat, gerangschikt op voorspellende kracht. Ook worden de namen van de functies en de scores van de geselecteerde metrische gegevens uitgevoerd.

Wat is functieselectie op basis van filters en waarom zou u deze functie gebruiken?

Deze module voor functieselectie wordt 'op filter gebaseerd' genoemd, omdat u de geselecteerde metrische gegevens gebruikt om irrelevante kenmerken te identificeren en redundante kolommen uit uw model filtert. U kiest één statistische meting die past bij uw gegevens en de module berekent een score voor elke functiekolom. De kolommen worden geretourneerd op functiescores.

Door de juiste functies te kiezen, kunt u mogelijk de nauwkeurigheid en efficiëntie van classificatie verbeteren.

Normaal gesproken gebruikt u alleen de kolommen met de beste scores om uw voorspellende model te bouwen. Kolommen met slechte selectiescores voor functies kunnen in de gegevensset worden gelaten en genegeerd wanneer u een model bouwt.

Metrische gegevens voor het selecteren van functies kiezen

De functieselectie op basis van filters biedt verschillende metrische gegevens voor het beoordelen van de informatiewaarde in elke kolom. Deze sectie bevat een algemene beschrijving van elk metrisch gegeven en hoe deze wordt toegepast. Aanvullende vereisten voor het gebruik van elk metrisch gegeven worden vermeld in de sectie Technische notities en in de instructies voor het configureren van elke module.

  • Pearson-correlatie

    De correlatiestatistiek van Pearson, of de correlatiecoëfficiënt van Pearson, wordt in statistische modellen ook wel de waarde r genoemd. Voor twee variabelen wordt een waarde retourneert die de sterkte van de correlatie aangeeft

    De correlatiecoëfficiënt van Pearson wordt berekend door de covariantie van twee variabelen te nemen en te delen door het product van de standaardafwijkingen. De coëfficiënt wordt niet beïnvloed door schaalwijzigingen in de twee variabelen.

  • Wederzijdse informatie

    De wederzijdse informatiescore meet de bijdrage van een variabele aan het verminderen van de onzekerheid over de waarde van een andere variabele: het label. Veel variaties van de wederzijdse informatiescore zijn ontworpen voor verschillende distributies.

    De wederzijdse informatiescore is met name nuttig bij het selecteren van functies, omdat de wederzijdse informatie tussen de gemeenschappelijke distributie en doelvariabelen in gegevenssets met veel dimensies wordt gemaximaliseerd.

  • Kendall Correlation

    De rangschikkingscorrelatie van Kendall is een van de verschillende statistieken die de relatie meten tussen classificaties van verschillende ordinale variabelen of verschillende rangschikkingen van dezelfde variabele. Met andere woorden, het meet de overeenkomst van ordereringen wanneer ze worden gerangschikt op de hoeveelheden. Zowel deze coëfficiënt als de correlatiecoëfficiënt van Spearman zijn ontworpen voor gebruik met niet-parametrische en niet-normaal gedistribueerde gegevens.

  • Spearman-correlatie

    De spearman-coëfficiënt is een niet-parametrische meting van statistische afhankelijkheid tussen twee variabelen en wordt soms aangeduid met de Grieks letter rho. De spearman-coëfficiënt geeft de mate aan waarin twee variabelen monotone gerelateerd zijn. Het wordt ook wel Spearman rank correlation genoemd, omdat deze kan worden gebruikt met ordinale variabelen.

  • Chi kwadraat

    De tweeweg-chi-kwadraattest is een statistische methode waarmee wordt gemeten hoe dicht verwachte waarden bij de werkelijke resultaten liggen. De methode gaat ervan uit dat variabelen willekeurig zijn en worden genomen uit een voldoende steekproef van onafhankelijke variabelen. De resulterende chi-kwadraatstatistiek geeft aan hoe ver de resultaten van het verwachte (willekeurige) resultaat zijn.

  • Score voor Score

    De Score van Deen (ook wel de method Method of de gecombineerde waarschijnlijkheidsscore van Deen) wordt soms de informatiescore genoemd, omdat deze de hoeveelheid informatie vertegenwoordigt die één variabele biedt over een onbekende parameter waarvan deze afhankelijk is.

    De score wordt berekend door de afwijking te meten tussen de verwachte waarde van de informatie en de waargenomen waarde. Wanneer variantie wordt geminimaliseerd, wordt de informatie gemaximaliseerd. Omdat de verwachting van de score nul is, is de Information Van DenH ook de variantie van de score.

  • Op basis van aantal

    Op telling gebaseerde functieselectie is een eenvoudige maar relatief krachtige manier om informatie over voorspellingen te vinden. Het basisprincipe van featurization op basis van tellingen is eenvoudig: door het berekenen van het aantal afzonderlijke waarden binnen een kolom kunt u een idee krijgen van de verdeling en het gewicht van waarden en op basis van deze informatie begrijpen welke kolommen de belangrijkste informatie bevatten.

    Functieselectie op basis van aantal is een niet-onder supervisie gebaseerde methode voor het selecteren van functies, wat betekent dat u geen labelkolom nodig hebt. Deze methode vermindert ook de dimensionaliteit van de gegevens zonder gegevens te verliezen.

    Zie Voor meer informatie over hoe functies op basis van tellingen worden gemaakt en waarom ze nuttig zijn in machine learning, Learning met tellingen.

Tip

Als u een andere optie nodig hebt voor een aangepaste functieselectiemethode, gebruikt u de module R-script uitvoeren.

Een functieselectie Filter-Based configureren

Deze module biedt twee methoden voor het bepalen van functiescores:

Functiescores genereren met behulp van een traditionele statistische metriek

  1. Voeg de module Filter-Based Feature Selection toe aan uw experiment. U vindt deze in de categorie Functieselectie in Studio (klassiek).

  2. Verbinding maken een invoerset die ten minste twee kolommen bevat die mogelijke functies zijn.

    Om ervoor te zorgen dat een kolom moet worden geanalyseerd en er een functiescore moet worden gegenereerd, gebruikt u de module Metagegevens bewerken om het kenmerk IsFeature in te stellen.

    Belangrijk

    Zorg ervoor dat de kolommen die u als invoer op geeft, mogelijke functies zijn. Een kolom die bijvoorbeeld één waarde bevat, heeft geen informatiewaarde.

    Als u weet dat er kolommen zijn die slechte functies zouden maken, kunt u deze verwijderen uit de kolomselectie. U kunt ook de module Edit Metadata gebruiken om ze te markeren als Categorisch.

  3. Kies voor Functiescoremethode een van de volgende tot stand gebrachte statistische methoden voor het berekenen van scores.

    Methode Vereisten
    Pearson-correlatie Label kan tekst of numeriek zijn. Functies moeten numeriek zijn.
    Wederzijdse informatie Labels en functies kunnen tekst of numeriek zijn. Gebruik deze methode voor het berekenen van het belang van functies voor twee categorische kolommen.
    Kendall Correlation Label kan tekst of numeriek zijn, maar functies moeten numeriek zijn.
    Spearman-correlatie Label kan tekst of numeriek zijn, maar functies moeten numeriek zijn.
    Chi kwadraat Labels en functies kunnen tekst of numeriek zijn. Gebruik deze methode voor het berekenen van het belang van functies voor twee categorische kolommen.
    Score voor Score Label kan tekst of numeriek zijn, maar functies moeten numeriek zijn.
    Counts Zie: Een functieselectie Count-Based gebruiken

    Tip

    Als u de geselecteerde metrische gegevens wijzigt, worden alle andere selecties opnieuw ingesteld, dus stel deze optie eerst in!)

  4. Selecteer de optie Alleen voor functiekolommen gebruiken om alleen een score te genereren voor kolommen die eerder als functies zijn gemarkeerd.

    Als u deze optie uitselecteert, maakt de module een score voor elke kolom die anders aan de criteria voldoet, tot het aantal kolommen dat is opgegeven in Aantal gewenste functies.

  5. Klik bij Doelkolom op Launch column selector om de labelkolom te kiezen op naam of op index (indexen zijn gebaseerd op één kolom).

    Een labelkolom is vereist voor alle methoden die betrekking hebben op statistische correlatie. De module retourneert een ontwerpfout als u geen labelkolom of meerdere labelkolommen kiest.

  6. Bij Aantal gewenste functies typt u het aantal functiekolommen dat als resultaat moet worden geretourneerd.

    • Het minimale aantal functies dat u kunt opgeven is 1, maar u wordt aangeraden deze waarde te verhogen.

    • Als het opgegeven aantal gewenste functies groter is dan het aantal kolommen in de gegevensset, worden alle functies geretourneerd, zelfs functies met nul scores.

    • Als u minder resultaatkolommen opgeeft dan er functiekolommen zijn, worden de functies gerangschikt op aflopende score en worden alleen de belangrijkste functies geretourneerd.

  7. Voer het experiment uit of selecteer de module Filter Based Feature Selection en klik vervolgens op Run selected.

Resultaten van functieselectie

Nadat de verwerking is voltooid:

  • Als u een volledige lijst wilt zien van de functiekolommen die zijn geanalyseerd en de scores, klikt u met de rechtermuisknop op de module, selecteert u Functies en klikt u op Visualiseren.

  • Als u de gegevensset wilt weergeven die is gegenereerd op basis van uw selectiecriteria voor functies, klikt u met de rechtermuisknop op de module, selecteert u Gegevensset en klikt u op Visualiseren.

Als de gegevensset minder kolommen bevat dan verwacht, controleert u de module-instellingen en de gegevenstypen van de kolommen die als invoer zijn opgegeven. Als u bijvoorbeeld Aantal gewenste functies in stelt op 1, bevat de uitvoerset slechts twee kolommen: de labelkolom en de meest gerangschikte functiekolom.

Functieselectie op basis van aantal gebruiken

  1. Voeg de module Filter-Based Feature Selection toe aan uw experiment. U vindt deze in de lijst met modules in Studio (klassiek) in de groep Functieselectie .

  2. Verbinding maken een invoerset die ten minste twee kolommen bevat die mogelijke functies zijn.

  3. Selecteer Count Based in de lijst met statistische methoden in de vervolgkeuzelijst Feature scoring method .

  4. Geef bij Minimum aantal niet-nul-elementen het minimum aantal functiekolommen aan dat in de uitvoer moet worden op te nemen.

    De module geeft standaard alle kolommen weer die aan de vereisten voldoen. De module kan geen kolom met een score van nul als uitvoer krijgen.

  5. Voer het experiment uit of selecteer alleen de module en klik op Geselecteerde uitvoeren.

Resultaten van de selectie van functies op basis van tellingen

  • Als u de lijst met functiekolommen met hun scores wilt bekijken, klikt u met de rechtermuisknop op de module, selecteert u Functies en klikt u op Visualize .
  • Als u de gegevensset met de geanalyseerde kolommen wilt zien, klikt u met de rechtermuisknop op de module, selecteert u Gegevensset en klikt u op Visualiseren.

In tegenstelling tot andere methoden rangschikt de functieselectiemethode Op basis van aantal de variabelen niet op hoogste scores, maar worden alle variabelen met een niet-nulscore in de oorspronkelijke volgorde teruggeplaatst.

Tekenreeksfuncties krijgen altijd een score van nul (0) en zijn dus geen uitvoer.

Voorbeelden

U ziet voorbeelden van hoe functieselectie wordt gebruikt in de Azure AI Gallery:

  • Tekstclassificatie; In de derde stap van dit voorbeeld wordt Filter-Based Feature Selection gebruikt om de 15 beste functies te identificeren. Functie-hashing wordt gebruikt om de tekstdocumenten te converteren naar numerieke vectoren. De correlatie van Pearson wordt vervolgens gebruikt voor de vectorfuncties.

  • Selectie en selectie van machine learning feature engineering functie: Dit artikel bevat een inleiding tot het selecteren en feature engineering functies in machine learning.

Zie Tabel met scores vergeleken voor voorbeelden van functiescores.

Technische opmerkingen

U vindt deze module onder Gegevenstransformatie in de categorie Filters .

Implementatiegegevens

Als u Pearson Correlation, Kendall Correlation of Spearman Correlation gebruikt voor een numerieke functie en een categorische label, wordt de functiescore als volgt berekend:

  1. Bereken voor elk niveau in de categorische kolom het voorwaardelijke gemiddelde van de numerieke kolom.

  2. Correleer de kolom met voorwaardelijke middelen met de numerieke kolom.

Vereisten

  • Er kan geen functieselectiescore worden gegenereerd voor een kolom die is aangewezen als een label of als een scorekolom .

  • Als u probeert een scoring-methode te gebruiken met een kolom van een gegevenstype dat niet wordt ondersteund door de methode , zal de module een foutmelding geven of wordt er een nulscore toegewezen aan de kolom.

  • Als een kolom logische waarden (waar/onwaar) bevat, worden deze verwerkt als True = 1 en False = 0.

  • Een kolom kan geen functie zijn als deze is aangewezen als label of score.

Hoe ontbrekende waarden worden verwerkt

  • U kunt geen kolom met alle ontbrekende waarden opgeven als een doelkolom (label).

  • Als een kolom ontbrekende waarden bevat, worden deze genegeerd bij het berekenen van de score voor de kolom.

  • Als een kolom die is aangewezen als een functiekolom alle ontbrekende waarden heeft, wordt er een nulscore toegewezen.

Tabel met scores vergeleken

Om u een idee te geven van de verschillen tussen de scores bij het gebruik van verschillende metrische gegevens, bevat de volgende tabel enkele functieselectiescores van meerdere functies in de gegevensset automobile price, gezien de afhankelijke variabele highway-mpg.

Functiekolom Pearson-score Score tellen Kendall-score Wederzijdse informatie
highway-mpg 1 205 1 1
city-mpg 0.971337 205 0.892472 0.640386
curb-weight 0.797465 171 0.673447 0.326247
horsepower 0.770908 203 0.728289 0.448222
price 0.704692 201 0.651805 0.321788
lengte 0.704662205 205 0.53193 0.281317
engine-size 0.67747 205 0.581816 0.342399
breedte 0.677218 205 0.525585 0.285006
bore 0.594572 201 0.467345 0.263846
wheel-base 0.544082 205 0.407696 0.250641
compression-ratio 0.265201 205 0.337031 0.288459
brandstofsysteem nb nb nb 0.308135
make nb nb nb 0.213872
drive-wheels nb nb nb 0.213171
hoogte nb nb nb 0.1924
normalized-losses nb nb nb 0.181734
symboling nb nb nb 0.159521
num-of-cilinders nb nb nb 0.154731
engine-type nb nb nb 0.135641
Aspiratie nb nb nb 0.068217
body-style nb nb nb 0.06369
brandstoftype nb nb nb 0.049971
num-of-doors nb nb nb 0.017459
engine-location nb nb nb 0.010166
  • Er kunnen scores voor wederzijdse informatie worden gemaakt voor alle kolomtypen, inclusief tekenreeksen.

  • Voor de andere scores in deze tabel, zoals de correlatie van Pearson of de selectie van functies op basis van tellingen, zijn numerieke waarden vereist. Tekenreeksfuncties krijgen een score van 0 en zijn daarom niet opgenomen in de uitvoer. Zie de sectie Technische notities voor uitzonderingen .

  • De methode count-based behandelt een labelkolom niet anders dan functiekolommen.

Verwachte invoer

Naam Type Description
Gegevensset Gegevenstabel Invoerset

Moduleparameters

Name Bereik Type Standaard Beschrijving
Scoringsmethode voor functies Lijst Scoring-methode Kies de methode die u wilt gebruiken voor scoren
Alleen werken met functiekolommen Alle Booleaans true Aangeven of alleen functiekolommen in het scoreproces moeten worden gebruikt
Doelkolom Alle ColumnSelection Geen De doelkolom opgeven
Aantal gewenste functies >= 1 Geheel getal 1 Geef het aantal functies op dat in de resultaten moet worden uitgevoerd
Minimumaantal elementen dat niet nul is >= 1 Geheel getal 1 Geef het aantal functies op dat moet worden uitgevoerd (voor de methode CountBased)

Uitvoerwaarden

Naam Type Description
Gefilterde gegevensset Gegevenstabel Gefilterde gegevensset
Functies Gegevenstabel Namen van uitvoerkolommen en functieselectiescores

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 0004 Uitzondering treedt op als de parameter kleiner is dan of gelijk is aan een specifieke waarde.
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
Fisher Linear Discriminant Analysis
Lijst met A-Z-modules