Hem Personliga finanser Datavetenskap: Använda Python för att utföra faktor och huvudkomponentanalys - dummies

Datavetenskap: Använda Python för att utföra faktor och huvudkomponentanalys - dummies

Innehållsförteckning:

Video: Building Dynamic Web Apps with Laravel by Eric Ouyang 2024

Video: Building Dynamic Web Apps with Laravel by Eric Ouyang 2024
Anonim

Datavetenskapare kan använda Python för att utföra faktor och huvudkomponentanalys. SVD fungerar direkt på de numeriska värdena i data, men du kan också uttrycka data som ett förhållande mellan variabler. Varje funktion har en viss variation. Du kan beräkna variabiliteten som variansmåttet runt medelvärdet. Ju mer variansen desto mer informationen finns i variabeln.

Om du också placerar variabeln i en uppsättning kan du jämföra varianten av två variabler för att bestämma huruvida de korrelerar, vilket är ett mått på hur starkt de har liknande värden.

Kontrollera alla möjliga korrelationer med en variabel med de andra i uppsättningen, du kan upptäcka att du kan ha två typer av varians:

  • Unik varians: En del varians är unik för den variabel som undersöks. Det kan inte kopplas till vad som händer med någon annan variabel.

  • Delad varians: En del varians delas med en eller flera andra variabler, vilket ger redundans i data. Redundans innebär att du kan hitta samma information, med något olika värden, i olika funktioner och över många observationer.

Naturligtvis är nästa steg att bestämma orsaken till delad varians. Att försöka svara på en sådan fråga, liksom att bestämma hur man hanterar unika och delade avvikelser, ledde till att man skapade faktor och huvudkomponentanalys.

Med tanke på den psykometriska modellen

Långt innan många algoritmer för maskininlärning upptäcks, försökte man hitta en statistisk lösning för att effektivt kunna mäta dimensionerna, psykologen , den psykologiska disciplinen som handlade om psykologisk mätning. i personlighet. Den mänskliga personligheten, som med andra aspekter av människor, är inte direkt mätbar. Det är exempelvis inte möjligt att mäta exakt hur mycket en person är introvert eller intelligent. Frågeformulär och psykologiska tester tyder bara på dessa värden.

Psykologer visste om SVD och försökte tillämpa det på problemet. Delad varians lockade sin uppmärksamhet: Om vissa variabler är nästan lika, borde de ha samma grundorsak, trodde de. Psykologer skapade

faktoranalys för att utföra denna uppgift! I stället för att applicera SVD direkt på data tillämpade de den på en nyskapad matrisspårning den gemensamma variansen, i hopp om att kondensera all information och återställa nya användbara funktioner som heter fa c tors . Letar efter dolda faktorer

Ett bra sätt att visa hur man använder faktoranalys är att börja med Iris dataset.

från sklearn. dataset importera load_iris från sklearn. sönderdelning Import FactorAnalysis iris = load_iris () X, y = iris. data, iris. målfaktor = FactorAnalysis (n_components = 4, random_state = 101). fit (X)

Efter att ha laddat upp data och lagrat alla prediktiva funktioner initialiseras klassen FactorAnalysis med en begäran om att leta efter fyra faktorer. Datan är sedan monterad. Du kan utforska resultaten genom att observera components_ attributet, som returnerar en array som innehåller mätningar av förhållandet mellan de nyskapade faktorerna, placerade i rader och de ursprungliga funktionerna som placeras i kolumner.

På skärningspunkten för varje faktor och funktion indikerar ett positivt tal att en positiv andel existerar mellan de två; Ett negativt tal påpekar istället att de skiljer sig åt och det är motsatsen till det andra.

Du måste testa olika värden på n_components eftersom det inte går att veta hur många faktorer som finns i data. Om algoritmen krävs för fler faktorer än existerar, kommer den att generera faktorer med låga värden i komponent-arrayen.

importera pandor som pd-utskrift pd. DataFrame (faktor. Komponenter_, kolumner = iris. Feature_namn) sepal längd (cm) sepal bredd (cm) kronbladslängd (cm) kronbladets bredd (cm) 0 0. 707227 -0. 153147 1. 653151 0. 701569 1 0. 114676 0. 159763 -0. 045604 -0. 014052 2 0. 000000 -0. 000000 -0. 000000 -0. 000000 3 -0. 000000 0. 000000 0. 000000 -0. 000000

I testet på Iris-datamängden bör till exempel de resulterande faktorerna vara högst 2, inte 4, eftersom endast två faktorer har betydande samband med de ursprungliga funktionerna. Du kan använda dessa två faktorer som nya variabler i ditt projekt, eftersom de speglar en osynlig men viktig funktion som tidigare tillgängliga data bara antytt på.

Använda komponenter, inte faktorer

Om en SVD kunde tillämpas med framgång på den gemensamma variansen kanske du undrar varför du inte kan tillämpa den på alla variationer. Med hjälp av en lätt modifierad startmatris kan alla relationer i data reduceras och komprimeras på samma sätt som hur SVD gör det.

Resultaten av denna process, som ganska liknar SVD, kallas

huvudkomponentanalys (PCA). De nyskapade funktionerna heter komponenter . I motsats till faktorer beskrivs komponenter inte som grundorsaken till datastrukturen men är bara omstrukturerad data, så att du kan se dem som en stor, smart summering av valda variabler. För datavetenskapstillämpningar är PCA och SVD ganska lika. PCA påverkas emellertid inte av storleken på de ursprungliga funktionerna (eftersom den fungerar på korrelationsåtgärder som alla är bundna mellan -1 och +1 värden) och PCA fokuserar på att bygga upp relationen mellan variablerna, vilket ger olika resultat från SVD.

Uppnå dimensioneringsreduktion

Proceduren för att erhålla en PCA är ganska lik faktoranalysen.Skillnaden är att du inte anger antalet komponenter som ska extraheras. Du bestämmer senare hur många komponenter som ska hållas efter att du har kontrollerat attributet explained_variance_ratio_, vilket ger kvantifiering av det informativa värdet för varje extraherad komponent. Följande exempel visar hur du utför den här uppgiften:

från sklearn. sönderdelning importera PCA importpandas som pd pca = PCA (). fit (X) print 'Förklarad varians för komponent:% s'% pca. explained_variance_ratio_ print pd. DataFrame (pca. Components_, columns = iris. Feature_names) Förklarad varians för komponent: [0. 92461621 0. 05301557 0. 01718514 0. 00518309] sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) 0 0. 361590 -0. 082269 0. 856572 0. 358844 1 -0. 656540 -0. 729712 0. 175767 0. 074706 2 0. 580997 -0. 596418 -0. 072524 -0. 549061 3 0. 317255 -0. 324094 -0. 479719 0. 751121

I denna sönderdelning av Iris-datamängden indikerar vektorgruppen som tillhandahålls av explained_variance_ratio_ att det mesta av informationen är koncentrerad till den första komponenten (92,5 procent). Det är därför möjligt att sänka hela datasetet till bara två komponenter, vilket ger en minskning av buller och överflödig information från den ursprungliga datasatsen.
Datavetenskap: Använda Python för att utföra faktor och huvudkomponentanalys - 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 ...