Hem Personliga finanser Hur man använder Python för att välja rätt variabler för datavetenskap - dummies

Hur man använder Python för att välja rätt variabler för datavetenskap - dummies

Innehållsförteckning:

Video: Javaprogrammering - Föreläsning 01 - Kursintroduktion 2024

Video: Javaprogrammering - Föreläsning 01 - Kursintroduktion 2024
Anonim

Att välja rätt variabler i Python kan förbättra inlärningsprocessen i datavetenskap genom att minska mängden brus information) som kan påverka elevens uppskattningar. Variabelt urval kan därför effektivt minska variationen av förutsägelser. För att bara involvera de användbara variablerna i träning och lämna de överflödiga, kan du använda dessa tekniker:

  • Univariate approach: Välj de variabler som är mest relaterade till målresultatet.

  • Grymt eller bakåtriktat tillvägagångssätt: Håll bara de variabler som du kan ta bort från inlärningsprocessen utan att skada dess prestanda.

Val av univariata åtgärder

Om du väljer att välja en variabel med dess associeringsnivå med sitt mål, ger klassen SelectPercentile ett automatiskt förfarande för att bara behålla en viss procentandel av de bästa associerade funktionerna. De tillgängliga mätvärdena för associering är

  • f_regression: Används endast för numeriska mål och baserad på linjär regressionsprestanda.

  • f_classif: Används endast för kategoriska mål och baserat på analys av varians (ANOVA) statistiskt test.

  • chi2: Utför chi-kvadratisk statistik för kategoriska mål, vilket är mindre förnuftigt för det olinjära förhållandet mellan prediktiv variabel och dess mål.

Vid bedömning av kandidater för ett klassificeringsproblem tenderar f_classif och chi2 att ge samma uppsättning toppvariabler. Det är fortfarande en bra praxis att testa valen från båda föreningens mätvärden.

Förutom att tillämpa ett direkt urval av de högsta percentilföreningarna, kan SelectPercentile också rangordna de bästa variablerna för att göra det lättare att bestämma vid vilken procentil att utesluta en funktion från att delta i inlärningsprocessen. Klassen SelectKBest är analog i sin funktionalitet, men den väljer de högsta k-variablerna, där k är ett tal, inte en percentil.

från sklearn. feature_selection import VäljPercentile från sklearn. feature_selection import f_regression Selector_f = SelectPercentile (f_regression, percentile = 25) Selector_f. fit (X, y) för n, s i zip (boston. feature_names, Selector_f. scores_): skriv ut 'F-poäng:% 3. 2ft för funktion% s '% (s, n) F-poäng: 88. 15 för funktionen CRIM F-poäng: 75. 26 för funktion ZN F-poäng: 153. 95 för funktionen INDUS F-poäng: 15. 97 för funktionen har CHAS F-poäng: 112. 59 för funktionen NOX F-poäng: 471. 85 för funktion RM F-poäng: 83.48 för funktion AGE F-poäng: 33. 58 för funktion DIS F-poäng: 85. 91 för funktion RAD F-poäng: 141. 76 för funktion TAX F-poäng: 175. 11 för funktion PTRATIO F-poäng: 63. 05 för funktionen B F-poäng: 601. 62 för funktionen LSTAT

Med hjälp av nivån för associeringsutgången kan du välja de viktigaste variablerna för din maskinlärningsmodell, men du bör se upp för dessa möjliga problem: > Vissa variabler med hög association kan också vara mycket korrelerade, introducera duplicerad information, vilket fungerar som buller i lärandeprocessen.

  • Vissa variabler kan straffas, särskilt binära (variabler som indikerar status eller karaktäristik med värdet 1 när det är närvarande, 0 när det inte är). Ta till exempel märke att utgången visar den binära variabeln CHAS som den minst associerade med målvariabeln (men du vet från tidigare exempel att det är inflytelserikt från korsvalideringsfasen).

  • Den univariata urvalsprocessen kan ge dig en verklig fördel när du har ett stort antal variabler att välja från och alla andra metoder blir beräkningsmässigt oföränderliga. Det bästa sättet är att minska värdet på SelectPercentile med hälften eller mer av de tillgängliga variablerna, minska antalet variabler till ett hanterbart nummer och följaktligen tillåta användningen av en mer sofistikerad och mer exakt metod som en girig sökning.

Använda en girig sökning

När du använder ett univariat urval, måste du själv bestämma hur många variabler som ska hållas: Greedy selection minskar automatiskt antalet funktioner som ingår i en inlärningsmodell utifrån deras effektiva bidrag till prestanda mätt av felmåttet.

RFECV-klassen, som passar data, kan ge dig information om antalet användbara funktioner, peka ut dem och automatiskt omvandla X-data, genom att metoden omvandlas till en reducerad variabel uppsättning, som visas i Följande exempel:

från sklearn. feature_selection import RFECV selector = RFECV (estimator = regression, cv = 10, scoring = "mean_squared_error") väljare. passar (X, Y) print ("Optimal antal funktioner:% d"% väljare. n_features_) Optimalt antal funktioner: 6

Det är möjligt att få ett index till den optimala variabeln som ställs genom att anropa attributet support_ från RFECV klass när du passar den.

skriv ut boston. feature_names [väljaren. support_] ['CHAS' NOX "RM" DIS "PTRATIO" LSTAT "]

Lägg märke till att CHAS nu ingår bland de mest prediktiva funktionerna, vilket står i kontrast till resultatet från den univariata sökningen. RFECV-metoden kan detektera om en variabel är viktigt, oavsett om det är binärt, kategoriskt eller numeriskt, eftersom det direkt utvärderar rollen som funktionen spelar i prediktionen.

RFECV-metoden är säkerligen effektivare jämfört med den -univariära metoden, eftersom den betraktar högt korrelerade funktioner och är inställd på att optimera utvärderingsåtgärden (som vanligen inte är Chi-kvadrat eller F-poäng). Det är en girig process, det är beräknat för beräkningar och kan bara approximera den bästa uppsättningen av prediktorer.

Eftersom RFECV lär sig den bästa uppsättningen variabler från data, kan valet överföras, vilket är vad som händer med alla andra maskininlärningsalgoritmer. Att försöka RFECV på olika prov av träningsdata kan bekräfta de bästa variablerna som ska användas.

Hur man använder Python för att välja rätt variabler för datavetenskap - dummies

Redaktörens val

Fastighetsprofessionens grunder för fastighetslicensexamen - dummies

Fastighetsprofessionens grunder för fastighetslicensexamen - dummies

Fastighetsexamen kommer att förvänta dig att du har ett grundläggande grepp på fastighetsbranschen. Du tror att det bara är uppenbart att veta vad de viktigaste spelarna gör i en fastighetsaffär, men på grund av den terminologi de delar, blir skillnaderna mellan spelarna lite muddlade. Här är snabba beskrivningar ...

Kostnadsmetoden för fastighetslicensexamen - dummies

Kostnadsmetoden för fastighetslicensexamen - dummies

En metod för att uppskatta Värdet på fastigheter kallas kostnaden. Du måste känna till formeln för fastighetslicensexamen. Kostnadsmetoden baseras på tanken att komponenterna i en fastighet eller marken och byggnaderna kan läggas till för att komma fram till ...

Studie för fastighetslicensexamen - dummies

Studie för fastighetslicensexamen - dummies

När var sista gången du tog en multipelvalsexamen ? Eller, för den delen, någon examen? Det är troligt att det var länge sedan. Kanske överväger du huruvida du ska bli en fastighetsmäklare, men du är lite avskräckt av tanken på att du måste göra ett test. Vad du kan ...

Redaktörens val

Följer ett basketspel på tv - dummies

Följer ett basketspel på tv - dummies

Du kommer bli mycket mer ute av att titta på ett basketspel på TV - eller till och med leva - om du gör mer än att se bollen gå in i rammen. Kolla in dessa insider tips för att fånga den verkliga åtgärden och öka din njutning av sporten. Förutse nästa pass Försök att tänka som ...

Top 5 Fantasy Basketball League Sites - Dummies

Top 5 Fantasy Basketball League Sites - Dummies

Att hitta och gå med på en fantasy basketplats kan ibland vara skrämmande uppgift eftersom så många alternativ är tillgängliga och de flesta webbplatser ser lika ut. Bara för att webbplatser ser ut som det betyder inte nödvändigtvis att de mäter i värde. Vissa webbplatser erbjuder gratis ligor, andra betalade - och vissa webbplatser tillhandahåller bara standard liga ...

Tryck på motståndarna i Basket - Dummies

Tryck på motståndarna i Basket - Dummies

Pressen är kort för tryck. Ofta kallad en fullrättspress, det här är ett anfallande försvar som används på backen, där målet är att tvinga en omsättning. Vanligtvis används efter en gjord korg, svänger pressgruppen över motståndarna i backcourt; Om motståndarna lyckas få bollen förbi halvvägs (kallad brytning ...

Redaktörens val

Hur R beräknar oändliga, odefinierade och saknade värden - dummies

Hur R beräknar oändliga, odefinierade och saknade värden - dummies

Lyckligtvis kan R hantera dataanomalier som förvirrar några andra statistiska plattformar. I vissa fall har du inte reella värden att beräkna med. I de flesta verkliga dataset saknas faktiskt åtminstone några värden. Dessutom har vissa beräkningar oändlighet som ett resultat (som att dividera med noll) eller kan inte ...

Hur man lägger till linjer i en plot i R-dummies

Hur man lägger till linjer i en plot i R-dummies

I R, lägger du till rader i en plott på ett mycket liknande sätt att lägga till poäng, förutom att du använder funktionen linjer () för att uppnå detta. Men använd först lite R magi för att skapa en trendlinje genom data, kallad en regressionsmodell. Du använder lm () -funktionen för att uppskatta en linjär ...

Hur man lägger till en andra dimension i R-dummies

Hur man lägger till en andra dimension i R-dummies

Förutom vektorer kan R representera matriser som ett objekt du arbetar och beräknar med. Faktum är att R verkligen lyser när det gäller matrisberäkningar och -operationer. Vektorer är nära relaterade till en större klass av objekt, arrays. Arrayer har två mycket viktiga egenskaper: De innehåller bara en enda typ av värde. De har ...