Innholdsfortegnelse:
- Slik laster du inn dataene dine
- Linje 1 importerer biblioteket som lar deg dele datasettet i to deler.
- Slik kjører du testdataene
- Så sammenligner den logistiske regresjonsmodellen med parameter C = 150 det? Vel, du kan ikke slå 100 prosent. Her er koden for å lage og evaluere den logistiske klassifiseringen med C = 150: >>>> logClassifier_2 = linear_model. LogistiskRegresjon (C = 150, random_state = 111) >>> logClassifier_2. passe (X_train, y_train) >>> predicted = logClassifier_2. forutsi (X_test) >>> beregninger. accuracy_score (y_test, spådd) 0. 93333333333333335 >>> beregninger. Confusion_matrix (y_test, predicted) array ([[5, 0, 0], [0, 2, 0], [0, 1, 7]])
Video: The Third Industrial Revolution: A Radical New Sharing Economy 2024
Når du bygger din første klassifikasjons prediktive modell for analyse av dataene, skaper flere modeller som det er en veldig enkel oppgave i scikit. Den eneste virkelige forskjellen fra en modell til den neste er at du må kanskje stille inn parametrene fra algoritmen til algoritmen.
Slik laster du inn dataene dine
Denne kodelisten vil laste irisdatasettet inn i sesjonen: >>>> fra sklearn. datasett import load_iris >>> iris = load_iris ()
Slik lager du en forekomst av klassifikatoren
Merk parameteren (reguleringsparameter) i konstruktøren.
regulariseringsparameter
brukes til å forhindre overfitting. Parameteren er ikke strengt nødvendig (konstruktøren vil fungere bra uten det fordi den vil standard til C = 1). Å lage en logistisk regresjons klassifiserer ved hjelp av C = 150 skaper et bedre plott av beslutningsflaten. Du kan se begge tomtene nedenfor.
Linje 1 importerer biblioteket som lar deg dele datasettet i to deler.
Linje 2 kaller funksjonen fra biblioteket som deler datasettet i to deler og tildeler de nåde delene til to par variabler.
Linje 3 tar forekomsten av den logistiske regresjons klassifiseringen du nettopp har opprettet, og kaller passordmetoden for å trene modellen med treningsdatasettet.
Slik visualiserer du klassifiseringsenheten
Ser man på avgjørelsesflaten på plottet, ser det ut til at noen tuning må gjøres. Hvis du ser nær midten av tomten, kan du se at mange av datapunktene som tilhører det midtre området (Versicolor) ligger i området til høyre (Virginica).
Dette bildet viser beslutningsoverflaten med en C-verdi på 150. Det ser visuelt bedre ut, så det å velge å bruke denne innstillingen for din logistiske regresjonsmodell, synes hensiktsmessig.
Slik kjører du testdataene
I følgende kode mater den første linjen testdatasettet til modellen, og den tredje linjen viser utdataene: >>>> predicted = logClassifier. forutsi (X_test) >>> predictedarray ([0, 0, 2, 2, 1, 0, 2, 2, 1, 2, 0, 2, 2, 2])
Hvordan evaluere modellen < Du kan kryssreferere utgangen fra prediksjonen mot y_test-arrayet. Som et resultat kan du se at det forutsigte alle testdataene riktig. Her er koden: >>>> fra sklearn importmålinger >>> 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]) >>> beregninger. accuracy_score (y_test, spådd) 1. 0 # 1. 0 er 100 prosent nøyaktighet >>> spådd == y_testarray ([True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] = bool)
Så sammenligner den logistiske regresjonsmodellen med parameter C = 150 det? Vel, du kan ikke slå 100 prosent. Her er koden for å lage og evaluere den logistiske klassifiseringen med C = 150: >>>> logClassifier_2 = linear_model. LogistiskRegresjon (C = 150, random_state = 111) >>> logClassifier_2. passe (X_train, y_train) >>> predicted = logClassifier_2. forutsi (X_test) >>> beregninger. accuracy_score (y_test, spådd) 0. 93333333333333335 >>> beregninger. Confusion_matrix (y_test, predicted) array ([[5, 0, 0], [0, 2, 0], [0, 1, 7]])
Vi forventet bedre, men det var faktisk verre. Det var en feil i prognosene. Resultatet er det samme som for SVM-modellen (Support Vector Machine).
Her er en fullstendig liste over koden for å lage og evaluere en logistisk regresjonsklassemodell med standardparametrene: >>>> fra sklearn. datasett import load_iris >>> fra sklearn import linear_model >>> fra sklearn import cross_validation >>> fra sklearn import målinger >>> 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. passe (X_train, y_train) >>> predicted = logClassifier. forutsi (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]) >>> beregninger. accuracy_score (y_test, spådd) 1. 0 # 1. 0 er 100 prosent nøyaktighet >>> spådd == y_testarray ([True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] = bool)