Hem Personliga finanser Hur man skapar en övervakad lärande modell med logistisk regression - dummies

Hur man skapar en övervakad lärande modell med logistisk regression - dummies

Innehållsförteckning:

Video: The Choice is Ours (2016) Official Full Version 2025

Video: The Choice is Ours (2016) Official Full Version 2025
Anonim

När du har byggt din första klassificeringss predictive modell för analys av data skapar du fler modeller som det är en riktigt enkel uppgift i scikit. Den enda verkliga skillnaden från en modell till nästa är att du kanske måste ställa in parametrarna från algoritmen till algoritmen.

Så här laddar du upp dina data

Denna kodlista laddar irisdatasetet i din session: >>>> från sklearn. dataset import load_iris >>> iris = load_iris ()

Så här skapar du en instans av klassificeringsenheten

Följande två kodkod skapar en instans av klassificeringsenheten. Den första raden importerar det logistiska regressionsbiblioteket. Den andra raden skapar en förekomst av den logistiska regressionsalgoritmen. >>>> från sklearn import linear_model >>> logClassifier = linear_model. LogisticRegression (C = 1, random_state = 111)

Notera parametern (regulariseringsparametern) i konstruktorn.

regulariseringsparametern

används för att förhindra överfitting. Parametern är inte absolut nödvändig (konstruktören fungerar bra utan att den kommer att gå till C = 1). Att skapa en logisk regressions klassificerare med C = 150 skapar en bättre plot av beslutsytan. Du kan se båda diagrammen nedan.

Så här kör du träningsdata

Du måste dela datasetet i träning och testuppsättningar innan du kan skapa en förekomst av logistikregressions klassificeringen. Följande kod kommer att utföra den här uppgiften: >>>> från sklearn import cross_validation >>> X_train, X_test, y_train, y_test = cross_validation. train_test_split (iris. data, iris. target, test_size = 0. 10, random_state = 111) >>> logClassifier. fit (X_train, y_train)

Linje 1 importerar biblioteket som låter dig dela datasatsen i två delar.

Linje 2 kallar funktionen från biblioteket som delar datasetet i två delar och tilldelar de nufördelade dataseten till två par variabler.

Linje 3 tar förekomsten av den logistiska regressions klassificeringen du just skapat och kallar passformmetoden för att träna modellen med träningsdatasatsen.

Så här visualiserar du klassificeringsenheten

Titta på beslutsytan på tomten, det verkar som att vissa inställningar måste göras. Om du tittar nära mitten av tomten kan du se att många av de datapunkter som hör till mittområdet (Versicolor) ligger i området till höger (Virginica).

Denna bild visar beslutsytan med ett C-värde på 150. Det verkar visuellt bättre, så det är lämpligt att välja att använda denna inställning för din logistiska regressionsmodell.

Så här kör testdata

I följande kod matar första raden testdatasetet till modellen och den tredje raden visar utmatningen: >>>> predicted = logClassifier. förutsäga (X_test) >>> predictedarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2])

Hur man utvärderar modellen < Du kan korsreferera utgången från förutsägelsen mot y_test-matrisen. Som ett resultat kan du se att det förutsagde alla testdatapunkter korrekt. Här är koden: >>>> från sklearnimportvärden >>> predictedarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> y_testarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> mätvärden. accuracy_score (y_test, predicted) 1. 0 # 1. 0 är 100 procent noggrannhet >>> förutsagt == y_testarray ([True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] = bool)

Så jämför den logistiska regressionsmodellen med parameter C = 150 jämfört med det? Tja, du kan inte slå 100 procent. Här är koden för att skapa och utvärdera den logistiska klassificeringen med C = 150: >>>> logClassifier_2 = linear_model. LogistiskRegression (C = 150, random_state = 111) >>> logClassifier_2. passform (X_train, y_train) >>> förutsagt = logClassifier_2. förutsäga (X_test) >>> mätvärden. accuracy_score (y_test, förutsagt) 0. 93333333333333335 >>> mätvärden. Confusion_matrix (y_test, predicted) array ([[5, 0, 0], [0, 2, 0], [0, 1, 7]])

Vi förväntade oss bättre, men det var faktiskt sämre. Det fanns ett fel i förutsägelserna. Resultatet är detsamma som för SVM-modellen (Support Vector Machine).

Här är den fullständiga listan över koden för att skapa och utvärdera en logistisk regressionsklassificeringsmodell med standardparametrarna: >>>> från sklearn. dataset import load_iris >>> från sklearn import linear_model >>> från sklearn import cross_validation >>> från sklearn import mätvärden >>> iris = load_iris () >>> X_train, X_test, y_train, y_test = cross_validation. train_test_split (iris. data, iris. target, test_size = 0. 10, random_state = 111) >>> logClassifier = linear_model. LogisticRegression (, random_state = 111) >>> logClassifier. passform (X_train, y_train) >>> predicted = logClassifier. förutsäga (X_test) >>> predictedarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> y_testarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> mätvärden. accuracy_score (y_test, predicted) 1. 0 # 1. 0 är 100 procent noggrannhet >>> förutsagt == y_testarray ([True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] = bool)
Hur man skapar en övervakad lärande modell med logistisk regression - dummies

Redaktörens val

Vad är en Java-karta? - dummies

Vad är en Java-karta? - dummies

Arrays och specialiserade listor gör det möjligt att utföra en fantastisk uppsättning uppgifter med Java. Det finns dock situationer där en Java-applikation behöver något som är mer relaterat till en databas, utan att egentligen ha allt databasbagage (som att behöva köpa en separat applikation). Till exempel kanske du vill kunna ...

Några få saker om Java Math - dummies

Några få saker om Java Math - dummies

Tro det eller inte, datorer - även de mest kraftfulla - Ha vissa begränsningar när det gäller att utföra matematiska beräkningar. Dessa begränsningar är vanligtvis obetydliga, men ibland slår de sig och biter på dig. Här är de saker du behöver se upp för när du gör matte i Java. Helhetsflöde Det grundläggande problemet ...

Vad är recursion i Java Programmering? - dummies

Vad är recursion i Java Programmering? - dummies

Rekursion är en grundläggande programmeringsteknik som du kan använda i Java, där en metod kallar sig för att lösa ett problem. En metod som använder denna teknik är rekursiv. Många programmeringsproblem kan lösas endast genom rekursion, och vissa problem som kan lösas med andra tekniker löses bättre genom rekursion. En av ...

Redaktörens val

4 Måste-inkludera i din blogg sidobardesign - dummies

4 Måste-inkludera i din blogg sidobardesign - dummies

Din bloggens sidofält är viktig fastighet som bör innehålla de element du vill ha mest. När du utformar din blogg sidofält kan du dra från en nästan oändlig lista över sidospårelement. Genom att välja noggrant vad som ska inkluderas (och vad som inte ska inkluderas) kan du ställa in din blogg från andra.

5 Användbara Wordpress Plugins - dummies

5 Användbara Wordpress Plugins - dummies

Om du bloggar på en självhävd plattform med WordPress-programvara, är det dags att anpassa din blogg med plug-ins - programvara som kan "anslutas" till din befintliga WordPress bloggprogramvara. Plug-ins gör det möjligt för dig att göra allt från funktionsbildspel i dina blogginlägg för att ansluta sociala medier till din webbplats. Här är fem användbara ...

7 Sätt att erövra Writer's Block som en Blogger - dummies

7 Sätt att erövra Writer's Block som en Blogger - dummies

Varje bloggare möter författarens block i ett tid eller annan. Om du är den typ av bloggare som sköter innehåll varje dag, kan författarens block vara stäverande. Kan du inte ta en paus för att få ditt skrivande mojo tillbaka? Prova en (eller flera) av dessa sju sätt att slå författarens block för att få dig tillbaka ...

Redaktörens val

10 Stora elektronikkomponentkällor - dummies

10 Stora elektronikkomponentkällor - dummies

Letar du efter några bra källor till dina elektroniska delar? Denna lista ger dig några fleråriga favoriter, både inom och utanför Nordamerika. Denna lista är inte uttömmande. Du hittar bokstavligen tusentals specialutbud för ny och begagnad elektronik. Plus, Amazon och eBay ger virtuella marknadsplatser för alla sorters säljare - ...

Elektronik Basics: Resistance - dummies

Elektronik Basics: Resistance - dummies

I elektronikvärlden är motståndet inte meningslöst. Faktum är att motstånd kan vara mycket användbart. Utan motstånd skulle elektronik inte vara möjligt. Elektronik handlar om att manipulera strömmen av ström, och ett av de mest grundläggande sätten att manipulera strömmen är att minska det genom resistans. Utan motstånd strömmar strömmen oreglerad och där ...

Digital elektronik: Så här installerar du BASIC Stamp Editor och Anslut till Stämpeldummorna

Digital elektronik: Så här installerar du BASIC Stamp Editor och Anslut till Stämpeldummorna

För att berätta för BASIC Stamp vad du vill göra i ditt digitala elektronikprojekt måste du programmera det. BASIC Stamp Windows Editor är den programvara som du använder på din dator för att skapa program som kan laddas ner till en BASIC Stamp-mikrokontroller. Denna programvara är tillgänglig gratis från Parallax webbplats. ...