Huis Persoonlijke financiën Gegevens Wetenschap: Python gebruiken om factor- en hoofdcomponentanalyse uit te voeren - dummies

Gegevens Wetenschap: Python gebruiken om factor- en hoofdcomponentanalyse uit te voeren - dummies

Inhoudsopgave:

Video: Software Testing Tutorials for Beginners 2024

Video: Software Testing Tutorials for Beginners 2024
Anonim

Gegevenswetenschappers kunnen Python gebruiken om factor- en hoofdcomponentanalyse uit te voeren. SVD werkt rechtstreeks op de numerieke waarden in gegevens, maar u kunt ook gegevens uitdrukken als een relatie tussen variabelen. Elke functie heeft een zekere variatie. U kunt de variabiliteit berekenen als de variatiemaatstaf rond het gemiddelde. Hoe meer de variantie, hoe meer informatie er in de variabele zit.

Als u de variabele bovendien in een set plaatst, kunt u de variantie van twee variabelen vergelijken om te bepalen of ze correleren, wat een maat is voor hoe sterk ze dezelfde waarden hebben.

Door alle mogelijke correlaties van een variabele met de andere in de set te controleren, kunt u ontdekken dat u twee soorten variantie kunt hebben:

  • Unieke variantie: Sommige variantie is uniek voor de variabele die wordt onderzocht. Het kan niet worden geassocieerd met wat er met een andere variabele gebeurt.

  • Gedeelde variantie: Sommige variantie wordt gedeeld met een of meer andere variabelen, waardoor er redundantie in de gegevens ontstaat. Redundantie houdt in dat u dezelfde informatie kunt vinden, met enigszins verschillende waarden, in verschillende functies en bij vele waarnemingen.

Natuurlijk is de volgende stap het bepalen van de reden voor gedeelde variantie. Een poging om een ​​dergelijke vraag te beantwoorden, en te bepalen hoe om te gaan met unieke en gedeelde varianties, leidde tot de creatie van analyse van factoren en hoofdcomponenten.

Gelet op het psychometrische model

Lang voordat veel computerleren-algoritmen werden bedacht, probeerde psychometrics , de discipline in de psychologie die zich bezighoudt met psychologische metingen, een statistische oplossing te vinden om effectief dimensies te meten in persoonlijkheid. De menselijke persoonlijkheid is, net als bij andere aspecten van de mens, niet direct meetbaar. Het is bijvoorbeeld niet mogelijk om precies te meten hoeveel een persoon introvert of intelligent is. Vragenlijsten en psychologische tests wijzen alleen op deze waarden.

Psychologen wisten van SVD en probeerden het op het probleem toe te passen. Gedeelde variantie trok hun aandacht: als sommige variabelen bijna hetzelfde zijn, zouden ze dezelfde oorzaak moeten hebben, dachten ze. Psychologen creëerden factoranalyse om deze taak uit te voeren! In plaats van SVD rechtstreeks op gegevens toe te passen, hebben ze het toegepast op een nieuw gemaakte matrix die de algemene variantie bijhoudt, in de hoop dat alle informatie wordt gecondenseerd en nieuwe handige functies worden hersteld, genaamd fa c torens .

Zoek naar verborgen factoren

Een goede manier om te laten zien hoe u factoranalyse gebruikt, is om te beginnen met de Iris-gegevensset.

van sklearn. datasets importeren load_iris van sklearn. decompositie import FactorAnalysis iris = load_iris () X, y = iris. data, iris. doelwitfactor = FactorAnalysis (n_components = 4, random_state = 101). fit (X)

Nadat de gegevens zijn geladen en alle voorspellende functies zijn opgeslagen, wordt de klasse FactorAnalysis geïnitialiseerd met een verzoek om naar vier factoren te zoeken. De gegevens worden vervolgens gepast. U kunt de resultaten verkennen door het kenmerk componenten_ te bekijken, dat een array retourneert met meetwaarden voor de relatie tussen de nieuw gemaakte factoren, in rijen geplaatst en de oorspronkelijke elementen in kolommen.

Op het snijpunt van elke factor en functie geeft een positief getal aan dat er een positieve verhouding tussen beide bestaat; een negatief getal wijst er in plaats daarvan op dat ze afwijken en dat de een het tegenovergestelde is van de ander.

U moet verschillende waarden van n_components testen, omdat het niet mogelijk is om te weten hoeveel factoren in de gegevens aanwezig zijn. Als het algoritme vereist is voor meer dan bestaande factoren, genereert het factoren met lage waarden in de array components_.

Panda's importeren als pd print pd. DataFrame (factorcomponenten_, kolommen = iris, functie-namen) kelklengte (cm) kelkbladbreedte (cm) bloembladlengte (cm) bloembladbreedte (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

In de test op de Iris-dataset, bijvoorbeeld, zouden de resulterende factoren maximaal 2, niet 4 moeten zijn, omdat slechts twee factoren significante verbindingen hebben met de originele kenmerken. U kunt deze twee factoren als nieuwe variabelen in uw project gebruiken, omdat ze een onzichtbare maar belangrijke functie weerspiegelen waarop de eerder beschikbare gegevens slechts een aanwijzing gaven.

Componenten gebruiken, geen factoren

Als een SVD met succes kan worden toegepast op de algemene variantie, vraagt ​​u zich wellicht af waarom u deze niet op alle varianties kunt toepassen. Met behulp van een licht aangepaste startmatrix konden alle relaties in de gegevens op dezelfde manier worden gereduceerd en gecomprimeerd als hoe SVD het doet.

De resultaten van dit proces, die veel lijken op SVD, worden principal components analysis (PCA) genoemd. De nieuwe functies worden componenten genoemd. In tegenstelling tot factoren worden componenten niet beschreven als de hoofdoorzaak van de gegevensstructuur, maar zijn ze slechts geherstructureerde gegevens, zodat u ze kunt bekijken als een grote, slimme optelling van geselecteerde variabelen.

Voor toepassingen op het gebied van gegevenswetenschap lijken PCA en SVD op elkaar. PCA wordt echter niet beïnvloed door de schaal van de originele functies (omdat het werkt op correlatiemetingen die alle tussen -1 en +1 waarden zijn gebonden) en PCA richt zich op het opnieuw opbouwen van de relatie tussen de variabelen, en biedt dus verschillende resultaten van SVD aan.

Dimensie-reductie realiseren

De procedure voor het verkrijgen van een PCA is vrij gelijkaardig aan de factoranalyse.Het verschil is dat u niet het aantal te extraheren componenten opgeeft. U bepaalt later hoeveel componenten u moet bewaren na het controleren van het explain_variance_ratio_ attribuut, dat kwantificering van de informatieve waarde van elk geëxtraheerd onderdeel oplevert. In het volgende voorbeeld ziet u hoe u deze taak uitvoert:

van sklearn. decompositie import PCA import panda's als pd pca = PCA (). fit (X) afdrukken 'Verklaarde variantie per component:% s'% pca. explain_variance_ratio_ print pd. DataFrame (pca. Components_, columns = iris. Feature_names) Uitleg van variantie per component: [0. 92461621 0. 05301557 0. 01718514 0. 00518309] kelklengte (cm) kelkbladbreedte (cm) bloembladlengte (cm) bloembladbreedte (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

In deze decompositie van de Iris-gegevensset geeft de vectorarray van explain_variance_ratio_ aan dat de meeste informatie is geconcentreerd in de eerste component (92,5 procent). Het is daarom mogelijk om de volledige dataset terug te brengen tot slechts twee componenten, waardoor er minder ruis en overtollige informatie uit de oorspronkelijke dataset komt.

Gegevens Wetenschap: Python gebruiken om factor- en hoofdcomponentanalyse uit te voeren - dummies

Bewerkers keuze

Hoe u uw LinkedIn-profiel kunt vermarkten voor de markt - dummies

Hoe u uw LinkedIn-profiel kunt vermarkten voor de markt - dummies

Wanneer het komt om het voordeel dat u van LinkedIn krijgt te maximaliseren, bent u uw grootste pleitbezorger. Hoewel je netwerk van connecties je helpt te groeien, gebeurt veel van je marketing zonder dat je erbij betrokken bent. Nadat je je profiel hebt aangemaakt, worden die en andere LinkedIn-activiteit van je gelezen en beoordeeld door de ...

Hoe u uw LinkedIn-netwerk kunt bouwen voordat u naar een nieuwe stad gaat - dummies

Hoe u uw LinkedIn-netwerk kunt bouwen voordat u naar een nieuwe stad gaat - dummies

Deze dagen, wanneer u naar een nieuwe stad moet verhuizen, kunt u er veel plannen voor maken op LinkedIn en op internet. Je kunt de buurten onderzoeken, de schoolsystemen bekijken en online naar huizen gaan. Je kunt een stap verder gaan als je van plan bent om naar een andere ...

Hoe u uw LinkedIn-contactinstellingen controleert - dummies

Hoe u uw LinkedIn-contactinstellingen controleert - dummies

U zeker wilt dat u de juiste instellingen selecteert contactinstellingen voor uw LinkedIn-profiel. Als u bijvoorbeeld op zoek bent naar een nieuwe baan, wilt u er zeker van zijn dat de optie voor Carrièremogelijkheden is gecontroleerd. Wanneer u klaar bent om uw contactinstellingen te controleren, volgt u deze stappen: Ga naar ...

Bewerkers keuze

Canon EOS Rebel XS / 1000D voor Dummy's Cheat Sheet - dummies

Canon EOS Rebel XS / 1000D voor Dummy's Cheat Sheet - dummies

Uw Canon EOS Rebel XS / 1000D heeft alle functies die u kunt gebruiken om fantastische foto's te maken. Je moet de beeldmodus instellen op het onderwerp van je foto en de Canon EOS Rebel XS / 1000D laat je volledig of gedeeltelijk automatisch gaan met de belichtingsinstellingen.

Canon Rebel T3-serie camera's: Live-modus Autofocus in Live View - dummies

Canon Rebel T3-serie camera's: Live-modus Autofocus in Live View - dummies

Live-modus Met autofocus kunt u de focus instellen op uw Canon EOS Rebel T3 of T3i zonder tijdelijk het voorbeeld van de monitor te verliezen. Bovendien, in plaats van het selecteren van negen autofocuspunten, verplaatst u eenvoudig een enkel scherpstelpunt over uw onderwerp. Aan de andere kant is de autofocus van de Live-modus merkbaar langzamer dan in de Quick-modus, en ...

Bewerkers keuze

Wijzigt Hoe tekstgrootte te wijzigen in Word 2016 - dummies

Wijzigt Hoe tekstgrootte te wijzigen in Word 2016 - dummies

Tekstgrootte wordt ingesteld in uw Word 2016 document gebaseerd over de meting van de oude letterzetter, ook wel punten genoemd. Hier zijn enkele aandachtspunten waarmee u rekening moet houden bij het opmaken van tekst in Word: hoe groter de puntgrootte, hoe groter de tekst. De meeste gedrukte tekst is 10 of 12 punten lang. Koppen zijn meestal 14 ...

Grammatica controleren in Word 2007 - dummies

Grammatica controleren in Word 2007 - dummies

Naast het controleren op correcte spelling, kunt u met Word 2007 ook om uw documenten te bewijzen om grammaticale fouten te voorkomen. U kunt de grammaticasuggesties van Word bekijken terwijl u door het document bladert, of u kunt een traditionele spellingcontrole uitvoeren. Word biedt u zelfs de kans om de gemarkeerde fout te onderzoeken en meer te leren van ...

Spelling controleren terwijl u typt in Word 2013 - dummies

Spelling controleren terwijl u typt in Word 2013 - dummies

Woord 2013 heeft een interne bibliotheek vol met ontelbare woorden, allemaal correct gespeld. Telkens wanneer u een woord typt, wordt het vergeleken met dat woordenboek. Wanneer het woord niet wordt gevonden, wordt dit als verdacht gemarkeerd in uw document. Het merk is een rode zigzaglijn. Mijn advies: blijf typen. Laat de "rode zigzag van een ...