Indholdsfortegnelse:
- Sådan indlæser du dine data
- Linje 1 importerer biblioteket, som giver dig mulighed for at opdele datasættet i to dele.
- Sådan køres testdataene
- Så sammenligner den logistiske regressionsmodel med parameter C = 150 det? Nå, du kan ikke slå 100 procent. Her er koden til at oprette og evaluere den logistiske klassifikator med C = 150: >>>> logClassifier_2 = linear_model. LogistiskRegression (C = 150, random_state = 111) >>> logClassifier_2. fit (X_train, y_train) >>> forudsagt = logClassifier_2. forudsige (X_test) >>> målinger. accuracy_score (y_test, forudsagt) 0. 93333333333333335 >>> metrics. Confusion_matrix (y_test, forudsagt) array ([[5, 0, 0], [0, 2, 0], [0, 1, 7]])
Video: The Third Industrial Revolution: A Radical New Sharing Economy 2025
Efter at du har opbygget din første klassifikation forudsigende model til analyse af dataene, skaber flere modeller som det en rigtig ligetil opgave i scikit. Den eneste reelle forskel fra den ene model til den næste er, at du måske må afstemme parametrene fra algoritme til algoritme.
Sådan indlæser du dine data
Denne kodeoversigt ilægger irisdatasættet i din session: >>>> fra sklearn. datasæt import load_iris >>> iris = load_iris ()
Sådan opretter du en forekomst af klassifikatoren
Bemærk parameteren (reguleringsparameter) i konstruktøren.
regulariseringsparameter
bruges til at forhindre overfitting. Parameteren er ikke strengt nødvendigt (konstruktøren vil fungere fint uden den, fordi den vil default til C = 1). Oprettelse af en logistisk regressions klassifikator ved hjælp af C = 150 skaber et bedre billede af beslutningens overflade. Du kan se begge punkter nedenfor.
Linje 1 importerer biblioteket, som giver dig mulighed for at opdele datasættet i to dele.
Linje 2 kalder funktionen fra biblioteket, der opdeler datasættet i to dele og tildeler de nu opdelte datasæt til to par variabler.
Linje 3 tager forekomsten af den logistiske regressionsklassificator, du lige har oprettet, og kalder tilpasningsmetoden til at træne modellen med træningsdatasættet.
Sådan visualiserer du klassifikatoren
Når man ser på beslutningsoverfladen på plottet, ser det ud til, at nogle afstemninger skal gøres. Hvis du ser tæt på midten af plottet, kan du se, at mange af de datapunkter, der tilhører det midterste område (Versicolor) ligger i området til højre side (Virginica).
Dette billede viser beslutningsoverfladen med en C-værdi på 150. Den ser visuelt bedre ud, så det er passende at vælge at bruge denne indstilling til din logistiske regressionsmodel.
Sådan køres testdataene
I den følgende kode indtaster første linje testdatasættet til modellen, og den tredje linje viser output: >>>> forudsagt = logClassifier. forudsige (X_test) >>> predictedarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2])
Hvordan evaluere modellen < Du kan krydshenvise output fra forudsigelsen mod y_test array. Som et resultat kan du se, at det forudsagde alle testdatapunkterne korrekt. 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]) >>> målinger. accuracy_score (y_test, forudsagt) 1. 0 # 1. 0 er 100 procent nøjagtighed >>> forudsagt == y_testarray ([True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] = bool)
Så sammenligner den logistiske regressionsmodel med parameter C = 150 det? Nå, du kan ikke slå 100 procent. Her er koden til at oprette og evaluere den logistiske klassifikator med C = 150: >>>> logClassifier_2 = linear_model. LogistiskRegression (C = 150, random_state = 111) >>> logClassifier_2. fit (X_train, y_train) >>> forudsagt = logClassifier_2. forudsige (X_test) >>> målinger. accuracy_score (y_test, forudsagt) 0. 93333333333333335 >>> metrics. Confusion_matrix (y_test, forudsagt) array ([[5, 0, 0], [0, 2, 0], [0, 1, 7]])
Vi forventede bedre, men det var faktisk værre. Der var en fejl i forudsigelserne. Resultatet er det samme som for Support Vector Machine (SVM) modellen.
Her er den fulde liste over koden til at oprette og evaluere en logistisk regressionsklassifikationsmodel med standardparametrene: >>>> fra sklearn. datasæt 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. fit (X_train, y_train) >>> forudsagt = logClassifier. forudsige (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]) >>> metrics. accuracy_score (y_test, forudsagt) 1. 0 # 1. 0 er 100 procent nøjagtighed >>> forudsagt == y_testarray ([True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] = bool)