Beruflich Dokumente
Kultur Dokumente
Problem 1- Sie werden von einem der führenden Nachrichtensender CNBE eingestellt, der die jüngsten
Wahlen analysieren möchte. Diese Umfrage wurde unter 1525 Wählern mit 9 Variablen durchgeführt. Sie
müssen ein Modell erstellen, um vorherzusagen, für welche Partei ein Wähler auf der Grundlage der
gegebenen Informationen stimmen wird, um eine Exit-Umfrage zu erstellen, die bei der Vorhersage des
Gesamtsiegs und der von einer bestimmten Partei abgedeckten Sitze hilft.
1.1 Lesen des Datensatzes. Führen Sie die deskriptive Statistik und die
Nullwertbedingungsprüfung durch. Schreibe eine Schlussfolgerung darauf.
Explorative Datenanalyse:
Top 5 Einträge im Datensatz.
"Unbenannt: 0" ist eine Variable, die einfach den Index in den Daten darstellt. Daher sollte es fallen
gelassen werden, da es im Modell keinen Nutzen hat.
Außerdem enthalten einige Variablen den Operator ‘.’ in ihrem Namen, der sich auf das Modell auswirken
kann. Daher ersetzen wir das ‘.‘. ’Mit‘_’Operator.
Kategorische Spalten-
Die obige Tabelle enthält Informationen wie eindeutige Werte, Mittelwert, Median, Standardabweichung,
Fünf-Punkte-Zusammenfassung, Min-Max, Zählung usw. für alle im Datensatz vorhandenen Variablen.
Da es keine Identifikation oder einen eindeutigen Code für jede vorhandene Zeile gibt. Wir können nicht
eindeutig sagen, dass dies die gleiche Person oder anders ist. Daher werden wir die Duplikate in diesem
Fall nicht entfernen.
Die Schiefe ist ein Maß für die Asymmetrie der Wahrscheinlichkeitsverteilung einer reellwertigen
Zufallsvariablen um ihren Mittelwert.
Nur zwei Variablen sind positiv verzerrt und ruhen negativ verzerrt mit maximaler Verzerrung in Blair.
1.2 Führen Sie eine univariate und bivariate Analyse durch. Führen Sie
explorative Datenanalysen durch. Nach Ausreißern suchen.
Univariate Analyse
Für kontinuierliche Variablen
Wir können sehen, dass alle numerischen Variablen normalverteilt sind (aber nicht ganz normal und in
einigen Fällen auch multimodal sind.
Es gibt Ausreißer in den Variablen "economic_cond_national" und "economic_cond_household", die auch
aus den Boxplots auf der rechten Seite ersichtlich sind.
Auch aus den Boxplots sind die Min- und Max-Werte der Variablen nicht sehr klar, wir können sie separat
erhalten, während wir nach Ausreißern suchen.
Bivariate Analyse-
Pairplot-
Pairplot erzählt uns von der Interaktion jeder Variablen mit jeder anderen vorhandenen Variablen.
Daher besteht keine starke Beziehung zwischen den Variablen.
Es gibt jedoch eine Mischung aus positiven und negativen Beziehungen, die erwartet wird.
Insgesamt handelt es sich um eine grobe Schätzung der Wechselwirkungen, ein klareres Bild kann durch
Heatmap-Werte und auch verschiedene Arten von Diagrammen erhalten werden.
Analyse - Blair und Alter
Menschen über 45 Jahre denken im Allgemeinen, dass Blair gute Arbeit leistet.
Den Haag weist bei Menschen über 50 Jahren eine etwas höhere Konzentration an Nuteralpunkten auf als
Blair.
Blair hat mehr Punkte in Bezug auf Wirtschaftshaushalte als Den Haag.
Blair hat mehr Punkte in Bezug auf die wirtschaftliche Nationalität als Den Haag.
Catplot-Analyse - Blair (count) auf Europa
Wenn wir uns die Daten in ganz Europa ansehen, dann ist Blair führend.
Catplot-Analyse - Blair (count) auf political_knowledge
Korrelationsmatrix-
Heatmap-
Multikollinearität ist ein wichtiges Thema, das dem Modell schaden kann. Heatmap ist eine gute
Möglichkeit, dieses Problem zu identifizieren. Es gibt uns eine grundlegende Vorstellung von der
Beziehung, die die Variablen zueinander haben.
Beobachtungen-
Die höchste positive Korrelation besteht zwischen „economic_cond_national“ und
„economic_cond_household“ (35 %). Aber das Gute ist, dass es nicht riesig ist.
Die höchste negative Korrelation besteht zwischen „Blair“ und „Europa“ (30 %), aber auch diese ist
nicht riesig.
Ausreißerprüfung/Behandlung-
Mit Boxplot-
1.3 Codieren Sie die Daten (mit Zeichenfolgenwerten) für die Modellierung. Ist
hier eine Skalierung notwendig oder nicht? Datenaufteilung: Aufteilung der
Daten in Zug und Test (70:30).
Codierung des Datensatzes
Da viele Machine-Learning-Modelle nicht mit String-Werten arbeiten können, werden wir die kategorialen
Variablen codieren und ihre Datentypen in Ganzzahltypen konvertieren.
Aus den Informationen des Datensatzes wissen wir, dass es 2 kategoriale Typvariablen gibt, daher müssen
wir diese 2 Variablen mit der geeigneten Technik kodieren.
Diese beiden Variablen sind "Abstimmung" und "Geschlecht". Ihre Verteilung ist unten angegeben.
Geschlechterverteilung -
Stimmenverteilung -
Aus den obigen Ergebnissen können wir sehen, dass beide Variablen nur zwei Klassifizierungen von Daten enthalten.
Wir können eine einfache kategoriale Konvertierung verwenden (pd.Categorical () oder Dummy-Codierung mit
drop_first = True, beide funktionieren hier). Dadurch werden die Werte in 0 und 1 konvertiert. Da es keine Ebene
oder Reihenfolge in der Unterkategorie gibt, wird jede Codierung das gleiche Ergebnis liefern.
Der Datentyp nach der Konvertierung ist das int8-Format. Wir können diese in das int64-Format konvertieren. Es
funktioniert auch, wenn wir es nicht in int64 ändern.
Info-
Daten-
Hier werden wir die Skalierung für beide Typen von Modellen durchführen und prüfen, ob es einen
Unterschied in der Leistung des Modells gibt.
Nachdem wir uns die Daten angesehen haben, müssen wir nur die Variable "Alter" skalieren, da der Rest
der Variablen im Bereich von 0-10 bei max.
Wir werden hier die Z-Core-Skalierung verwenden, um die Altersvariable zu skalieren.
Nach der Skalierung mit z-Score oder Standardskalierung, wobei Mittelwert=0 und Standardabweichung=1
ist.
Vor der Aufteilung müssen wir die Zielvariable finden. Hier ist die Zielvariable „Vote“.
Votum Datenverteilung-
Es gibt ein Datenungleichgewicht in der Variablen, wie oben gesehen, so dass wir sie nicht im Verhältnis
50:50 aufteilen können, sondern die Daten im Verhältnis 70:30 aufteilen. Außerdem werden wir die
Oversampling-Technik Smote verwenden, um zu überprüfen, ob sie das Modell verbessert oder nicht.
Hier werden wir 2 verschiedene Zug- und Testsets verwenden, eines ohne skalierte Daten und eines mit
skalierten Daten. Dies wird uns helfen zu verstehen, ob die Skalierung die Leistung verbessern kann oder
nicht.
Jetzt werden sowohl X- als auch y-Daten im Verhältnis 70:30 aufgeteilt, wobei die Zugdaten 70 % und die
Testdaten 30 % betragen.
Nach dem Aufteilen - die Form der Daten
Hier
X_Train - bezeichnet 70 % des Trainingsdatensatzes mit 8 Spalten (mit Ausnahme der Zielspalte namens
"Abstimmung").
X_Test - bezeichnet 30 % Testdatensatz mit 8 Spalten (mit Ausnahme der Zielspalte namens
"Abstimmung").
y_train- bezeichnet den 70 % -Trainingsdatensatz mit nur der Zielspalte "Abstimmung".
y_test- bezeichnet 30 % Testdatensatz mit nur der Zielspalte namens "Abstimmung".
In ähnlicher Weise werden die Daten für skalierte Daten UND SMOTE-Oversampling-Daten aufgeteilt.
Vor dem Anpassen des Modells ist es wichtig, die Hyperparameter zu kennen, die beim Modellbau eine
Rolle spielen. Parameter:
• Strafe
• Löser
• max_iter
• Tol, etc.
Um die beste Kombination unter diesen Parametern zu finden, verwenden wir die "GridSearchCV" -
Methode. Diese Methode kann mehrere Kombinationen dieser Parameter gleichzeitig durchführen und uns
die besten optimalen Ergebnisse liefern.
Nach der Durchführung der Suche ergaben sich die besten Parameter-
Zuggenauigkeit - 0,8303655107778819
Prüfgenauigkeit - 0,8537117903930131
Wahrscheinlichkeiten auf dem Testset-(0 bevorzugt die Konservative Partei und 1 bevorzugt die Labour
Party)
Nun die Ergebnisse für skalierte Daten-
Zuggenauigkeit - 0,8303655107778819
Testgenauigkeit - 0,8493449781659389
Schlussfolgerungen
Pseudo R2 = 0,3809 zeigt, dass das Modell wirklich gut abschneidet, da der Wert zwischen 0,2 – 0,4 zeigt,
dass ein Modell gut abschneidet.
Das Modell schneidet bei den unskalierten Daten etwas gut ab.
Es gibt keine Unter- oder Überanpassung, da die Genauigkeit sowohl für Test- als auch für Zugdaten nicht
sehr unterschiedlich ist.
Vor dem Anpassen des Modells ist es wichtig, die Hyperparameter zu kennen, die beim Modellbau eine
Rolle spielen.
Parameter:
• Löser
• Schrumpfung
Nach der Durchführung der GridSearchCV sind die besten erhaltenen Parameter-
shrinkage = 'auto'
solver = 'lsqr'
Nun die Ergebnisse für unskalierte Daten-
Zuggenauigkeit - 0,8284910965323337
Prüfgenauigkeit - 0,851528384279476
Zuggenauigkeit - 0,828491096532333
Prüfgenauigkeit - 0,851528384279476
Wahrscheinlichkeiten auf dem Test-Set-
Schlussfolgerungen
Das Modell hat eine gute Leistung erbracht und die Genauigkeit sowohl für die skalierten als auch für die
nicht skalierten Daten ist gleich.
1.5. Wenden Sie das KNN-Modell und das Naive Bayes-Modell an.
Interpretieren Sie die Schlussfolgerungen jedes Modells.
KNN ist ein entfernungsbasierter überwachter maschineller Lernalgorithmus, mit dem sowohl
Klassifizierungs- als auch Regressionsprobleme gelöst werden können. Der Hauptnachteil dieses Modells
ist, dass es bei großen Datenmengen sehr langsam wird und daher eine unpraktische Wahl ist, bei der
schnell Rückschlüsse gezogen werden müssen.
Vor dem Anpassen des Modells ist es wichtig, die Hyperparameter zu kennen, die beim Modellbau eine
Rolle spielen.
Parameter:
• n_Nachbarn
• Gewichte
• Algorithmus
Nach der Durchführung der "GridSearchCV" sind die besten erhaltenen Parameter-
• 'n_neighbors' = 5,
• 'Gewichte' = einheitlich,
• 'algorithm' = auto
Zuggenauigkeit - 0,8369259606373008
Prüfgenauigkeit - 0,8165938864628821
Zuggenauigkeit - 0,8603561387066542
Prüfgenauigkeit - 0,8384279475982532
Rückschluss-
Das Modell schnitt mit den skalierten Daten besser ab.
Auch insgesamt hat das Modell gut abgeschnitten, aber es kann zu einer leichten Überanpassung
kommen, da die Genauigkeit eher für den Zug eingestellt ist als für den Test.
Naives Bayes-Modell
Naive Bayes-Klassifikatoren sind ein Modell, das auf der Anwendung des Bayes-Theorems mit starken
(naiven) unabhängigen Annahmen zwischen den Merkmalen basiert. Diese Annahmen sind jedoch in
realen Szenarien möglicherweise nicht der perfekte Fall.
Hier ist die Methode, die wir verwenden werden, die GaussianNB() -Methode, auch bekannt als
BernoulliNB(). Diese Methode erfordert, dass alle Merkmale kategorial sind. Eine allgemeine Annahme bei
dieser Methode ist, dass die Daten einer Normal- oder Gaußverteilung folgen.
Es gibt keine spezifischen Parameter in diesem Modell wie andere, daher passen wir das Modell einfach
mit Standardparametern an.
Zuggenauigkeit - 0,8219306466729147
Prüfgenauigkeit - 0,8471615720524017
Zuggenauigkeit - 0,8219306466729147
Prüfgenauigkeit - 0,8471615720524017
Tuning ist der Prozess, bei dem die Leistung eines Modells maximiert wird, ohne dass es zu einer
Überanpassung oder zu einer zu hohen Varianz kommt. Beim maschinellen Lernen wird dies durch die
Auswahl geeigneter „Hyperparameter“ erreicht.
Die Rastersuche ist eine der gebräuchlichsten Methoden zur Optimierung der Parameter. In diesem wird
ein Satz von Parametern definiert und dann wird die Leistung für jede Kombination dieser Parameter
mittels Kreuzvalidierung bewertet. Dann von denen,
Modelle wie Bagging, Boosting, Gradienten-Boosting, Cat-Boosting usw. neigen dazu, Daten zu unter- oder
zu überpassen. Overfitting bedeutet, dass das Modell sehr gut mit den Zugdaten funktioniert, aber relativ
schlecht mit den Testdaten. Unterfütterung bedeutet, dass das Modell sehr gut mit den Testdaten
funktioniert, aber relativ schlecht mit den Trainingsdaten.
Das Absacken ist eine Ensemble-Technik. Ensembletechniken sind die maschinellen Lerntechniken, die
mehrere Basismodelle kombinieren, um ein optimales Modell zu erhalten. Die Absackung wurde entwickelt,
um die Leistung bestehender Algorithmen für maschinelles Lernen zu verbessern, die bei der statistischen
Klassifizierung oder Regression verwendet werden. Es wird am häufigsten mit baumbasierten Algorithmen
verwendet. Es ist eine parallele Methode.
Jeder Basisklassifikator wird parallel zu einem Trainingssatz trainiert, der durch zufälliges Zeichnen von N
Daten aus dem Training generiert wird. Der Trainingssatz für jeden der Basisklassifikatoren ist unabhängig
voneinander.
Hier verwenden wir zufällige Gesamtstruktur als Basisklassifikator. Hyperparameter, die im Modell
verwendet werden, sind
• max_depth
• max_features
• min_samples_leaf
• min_samples_split
• n_Schätzer
Es gibt auch andere Parameter, aber wir werden diese für Gridsearch, Rest Standardwerte verwenden.
Nach der Durchführung der "GridSearchCV" sind die besten erhaltenen Parameter-
• ' max_depth ' = 5,
• ' max_features ' = 7,
• ' min_samples_leaf ' = 25,
• ' min_samples_split ' = 60,
• ' n_estimators ' = 101
Zuggenauigkeit - 0,8303655107778819
Prüfgenauigkeit - 0,834061135371179
Zuggenauigkeit - 0,8303655107778819
Prüfgenauigkeit - 0,834061135371179
Boosting-Modell
Boosting ist auch eine Ensemble-Technik. Es verwandelt schwache Lernende in starke Lernende. Im
Gegensatz zum Absacken ist es eine sequentielle Methode, bei der das Ergebnis eines schwachen
Lernenden zum Input für den anderen wird und so weiter, wodurch die Leistung des Modells verbessert
wird.
Jedes Mal, wenn der Basis-Lernalgorithmus angewendet wird, generiert er eine neue Vorhersageregel für
schwache Lernende. Dies ist ein iterativer Prozess und der Boosting-Algorithmus kombiniert diese
schwachen Regeln zu einer einzigen starken Vorhersageregel.
Falsch klassifizierte Eingabedaten gewinnen ein höheres Gewicht und korrekt klassifizierte Beispiele
verlieren an Gewicht. Daher konzentrieren sich zukünftige schwache Lernende mehr auf die Beispiele, die
frühere schwache Lernende falsch klassifiziert haben. Sie sind auch baumbasierte Methoden.
Es gibt viele Arten von Boosting-Techniken, und für dieses Projekt sind die folgenden Boosting-Techniken
zu verwenden.
1. Ada Boost (Adaptiver Boost)
2. Gradientenverstärkung
3. Extreme Gradientenverstärkung
4. CAT-Boost (Kategorischer Boost)
Ada Boosting-Modell
Dieses Modell wird verwendet, um die Effizienz von binären Klassifikatoren zu erhöhen, aber jetzt auch, um
Multiklassenklassifikatoren zu verbessern. AdaBoost kann auf jede Klassifikatormethode angewendet
werden, um aus ihren Problemen zu lernen und ein genaueres Modell hervorzubringen, und wird daher als
"bester Standardklassifikator" bezeichnet.
Vor der Anpassung des Modells ist es wichtig, die Hyperparameter zu kennen, die beim Modellbau eine
Rolle spielen.
Parameter:
• Algorithmus
• n_Schätzer
Es gibt auch andere Parameter, aber wir werden diese für Gridsearch, Rest Standardwerte verwenden.
Nach der Durchführung der "GridSearchCV" sind die besten erhaltenen Parameter-
• ' algorithm ' = ' SAMME',
• ' n_estimators ' = 50
Zuggenauigkeit - 0,8369259606373008
Prüfgenauigkeit - 0,8427947598253275
Zuggenauigkeit - 0,8369259606373008
Prüfgenauigkeit - 0,8427947598253275
Rückschluss-
Das Modell hat sowohl für unskalierte als auch für skalierte Daten genau die gleiche Leistung erbracht.
Dieses Modell schnitt bei den Daten ohne Über- oder Unteranpassung äußerst gut ab.
Gradientenverstärkungsmodell
Dieses Modell ist genau wie das ADABoosting-Modell. Gradient Boosting funktioniert, indem die falsch
identifizierten Prädiktoren und unzureichend angepassten Vorhersagen sequentiell zum Ensemble
hinzugefügt werden, um sicherzustellen, dass die zuvor identifizierten Fehler korrigiert werden. Der
Hauptunterschied liegt in dem, was es mit dem falsch identifizierten Wert des vorherigen schwachen
Lernenden macht. Diese Methode versucht, den neuen Prädiktor an die Restfehler des vorherigen
anzupassen.
Vor der Anpassung des Modells ist es wichtig, die Hyperparameter zu kennen, die beim Modellbau eine
Rolle spielen.
Parameter:
• Kriterium
• Verlust
• n_Schätzer
• max_features
• min_samples_split
Es gibt auch andere Parameter, aber wir werden diese für Gridsearch, Rest Standardwerte verwenden.
Nach der Durchführung der "GridSearchCV" sind die besten erhaltenen Parameter-
• 'criterion' = 'friedman_mse',
• 'loss' = 'exponentiell',
• 'n_estimators' = 50,
• 'max_features' = 8,
• 'min_samples_split' = 45
Zuggenauigkeit - 0,865979381443299
Prüfgenauigkeit - 0,8493449781659389
Zuggenauigkeit - 0,865979381443299
Prüfgenauigkeit - 0,8493449781659389
Wahrscheinlichkeiten auf dem Test-Set-
Rückschluss-
Das Modell hat sowohl für unskalierte als auch für skalierte Daten genau die gleiche Leistung erbracht.
Auch insgesamt hat das Modell gut abgeschnitten, aber es kann zu einer leichten Überanpassung
kommen, da die Genauigkeit eher für den Zug eingestellt ist als für den Test.
Dieses Modell basiert, wie der Name schon sagt, auf dem Gradienten-Boosting-Framework. XGBoost
verbessert jedoch das Basis-GBM-Framework durch Systemoptimierung und algorithmische
Verbesserungen. Es verwendet parallele Verarbeitungs- und RAM-Optimierungen, die die Funktionsweise
der Gradienten-Boost-Methode auf ihren Höhepunkt verbessern und den Namen "extrem" machen können.
Ein weiterer Vorteil ist, dass die Nullwerte automatisch behandelt werden, indem der Parameter „missing =
NaN“ übergeben wird.
Ein weiterer Unterschied besteht darin, dass XGB den Parameter ‘min_sample_split’ nicht enthält.
Vor der Anpassung des Modells ist es wichtig, die Hyperparameter zu kennen, die beim Modellbau eine
Rolle spielen.
Parameter:
• Max_depth
• Min_Samples_Leaf
• n_Schätzer
• learning_rare
Es gibt auch andere Parameter, aber wir werden diese für Gridsearch, Rest Standardwerte verwenden.
Nach der Durchführung der "GridSearchCV" sind die besten erhaltenen Parameter-
• 'max_depth': 4,
• 'min_samples_leaf': 15,
• 'n_estimators': 50,
• 'learning_rate': 0,1
Zuggenauigkeit - 0,8847235238987816
Prüfgenauigkeit - 0,851528384279476
Zuggenauigkeit - 0,8847235238987816
Prüfgenauigkeit - 0,851528384279476
Rückschluss-
Das Modell hat sowohl für unskalierte als auch für skalierte Daten genau die gleiche Leistung erbracht.
Auch insgesamt hat das Modell gut abgeschnitten, aber es kann zu einer leichten Überanpassung
kommen, da die Genauigkeit eher für den Zug eingestellt ist als für den Test.
CATBoosting-Modell
CATBoosting (CATegorical Boosting) ist ein maschineller Lernalgorithmus, der Gradienten-Boosting auf
Entscheidungsbäumen verwendet. Es handelt sich um eine Open-Source-Bibliothek, die nicht im Rahmen
des üblichen Sklearn-Pakets verfügbar ist. Wir müssen das Paket separat installieren. CAT Boost kann
eine große Menge kategorialer Daten verwalten, was normalerweise ein Problem für den Großteil des
Algorithmus für maschinelles Lernen darstellt. CATBoost ist einfach zu implementieren und sehr
leistungsstark. Es liefert hervorragende Ergebnisse und ist sehr schnell in der Ausführung.
Es gibt viele Parameter zu spezifizieren, aber wir gehen mit den Standardparametern weiter.
Zuggenauigkeit - 0,9381443298969072
Prüfgenauigkeit - 0,851528384279476
1.7 Leistungsmetriken: Überprüfen Sie die Leistung von Vorhersagen auf Zug-
und Testsätzen mithilfe von Genauigkeit, Verwirrungsmatrix, ROC-Kurve
zeichnen und erhalten Sie ROC_AUC-Score für jedes Modell. Endgültiges
Modell: Vergleichen Sie die Modelle und schreiben Sie Inferenz, welches
Modell am besten/optimiert ist.
Leistungskennzahlen:
In der Regel gibt es viele Leistungsmetriken, die bei der Bewertung der Stärke des Modells verwendet
werden, um zu verstehen, wie sich das Modell entwickelt hat, und um eine fundierte Entscheidung darüber
zu treffen, ob das Modell im Echtzeitszenario weitergeführt werden soll oder nicht.
Logistische Regression
Verwirrungsmatrix-
True Negative: 212 Falsch positiv: 111 True Negative: 94 Falsch positiv: 45
Falsch Negativ: 70 Wahr Positiv: 674 Falsch Negativ: 22 Wahr Positiv: 297
Klassifizierungsbericht-
Für Zug-Set-
Für Test-Set-
Punktzahl für logistische Regression (Zug): 0,877 Punktzahl für logistische Regression (Test):
0,916
Verwirrungsmatrix-
True Negative: 211 Falsch positiv: 112 True Negative: 94 Falsch positiv: 45
Falsch Negativ: 69 Richtig Positiv: 675 Falsch Negativ: 24 Wahr Positiv: 295
Klassifizierungsbericht-
Für Zug-Set-
Für Test-Set-
Punktzahl für logistische Regression (Zug): 0,877 Punktzahl für logistische Regression
(Test): 0,915
SMOTE –
----------------------------------------------------------------------------------------------------------------------------------------------
Verwirrungsmatrix-
Für Zugdaten Für Testdaten
True Negative: 218 False Positive: 105 True Negative: 100 Falsch positiv: 39
Falsch Negativ: 78 Wahr Positiv: 666 Falsch Negativ: 29 Wahr Positiv: 290
Klassifizierungsbericht-
Für Zug-Set-
Für Test-Set-
Verwirrungsmatrix-
Für Zugdaten Für Testdaten
True Negative: 218 False Positive: 105 True Negative: 100 Falsch positiv: 39
Falsch Negativ: 78 Wahr Positiv: 666 Falsch Negativ: 29 Wahr Positiv: 290
Klassifizierungsbericht-
Für Zug-Set-
Für Test-Set-
SMOTE –
----------------------------------------------------------------------------------------------------------------------------------------------
Verwirrungsmatrix-
Für Zugdaten Für Testdaten
True Negative: 219 Falsch Positiv: 104 True Negative: 84 Falsch positiv: 55
Falsch Negativ: 70 Wahr Positiv: 674 Falsch Negativ: 29 Wahr Positiv: 290
Klassifizierungsbericht-
Für Zug-Set-
Für Test-Set-
Klassifizierungsbericht-
Für Zug-Set-
Für Test-Set-
Naive Bayes
Verwirrungsmatrix-
Für Zugdaten Für Testdaten
True Negative: 223 Falsch Positiv: 100 True Negative: 101 Falsch Positiv: 38
Falsch Negativ: 90 Wahr Positiv: 654 Falsch Negativ: 32 Wahr Positiv: 287
Klassifizierungsbericht-
Für Zug-Set-
Für Test-Set-
Verwirrungsmatrix-
Für Zugdaten Für Testdaten
True Negative: 223 Falsch Positiv: 100 True Negative: 101 Falsch positiv: 38
Falsch Negativ: 90 Wahr Positiv: 654 Falsch Negativ: 32 Wahr Positiv: 287
Klassifizierungsbericht-
Für Zug-Set-
Für Test-Set-
Bereich unter ROC-Kurve und AUC-Wert:
Sowohl für Schulungen als auch für Tests:
SMOTE –
----------------------------------------------------------------------------------------------------------------------------------------------
Beutelverpackung
Verwirrungsmatrix-
Für Zugdaten Für Testdaten
True Negative: 201 Falsch positiv: 122 True Negative: 83 Falsch positiv: 56
Falsch Negativ: 59 Wahr Positiv: 685 Falsch Negativ: 20 Richtig Positiv:
299
Klassifizierungsbericht-
Für Zug-Set-
Für Test-Set-
True Negative: 201 Falsch positiv: 122 True Negative: 83 Falsch positiv: 56
Falsch Negativ: 59 Wahr Positiv: 685 Falsch Negativ: 20 Richtig Positiv:
299
Klassifizierungsbericht-
Für Zug-Set-
Für Test-Set-
----------------------------------------------------------------------------------------------------------------------------------------------
Ada Boosting
Verwirrungsmatrix-
Für Zugdaten Für Testdaten
Klassifizierungsbericht-
Für Zug-Set-
Für Test-Set-
Verwirrungsmatrix-
Für Zugdaten Für Testdaten
Für Test-Set-
SMOTE –
----------------------------------------------------------------------------------------------------------------------------------------------
Gradientenverstärkung
Verwirrungsmatrix-
Für Zugdaten Für Testdaten
True Negative: 229 False Positive: 94 True Negative: 94 Falsch positiv: 45
Falsch Negativ: 49 Richtig Positiv: 695 Falsch Negativ: 24 Wahr Positiv: 295
Klassifizierungsbericht-
Für Zug-Set-
Für Test-Set-
Klassifizierungsbericht-
Für Zug-Set-
Für Test-Set-
----------------------------------------------------------------------------------------------------------------------------------------------
XGBoost
Verwirrungsmatrix-
Für Zugdaten Für Testdaten
Klassifizierungsbericht-
Für Zug-Set-
Für Test-Set-
Verwirrungsmatrix-
Für Zugdaten Für Testdaten
Für Test-Set-
SMOTE –
----------------------------------------------------------------------------------------------------------------------------------------------
CATBoost
Verwirrungsmatrix-
Für Zugdaten Für Testdaten
True Negative: 281 Falsch positiv: 42 True Negative: 97 Falsch positiv: 42
Falsch Negativ: 24 True Positive: 720 Falsch Negativ: 26 Wahr Positiv: 293
Klassifizierungsbericht-
Für Zug-Set-
Für Test-Set-
Verwirrungsmatrix-
Für Zugdaten Für Testdaten
Klassifizierungsbericht-
Für Zug-Set-
Für Test-Set-
Bereich unter ROC-Kurve und AUC-Wert:
Sowohl für Schulungen als auch für Tests:
SMOTE –
Ohne Skalierung Mit Skalierung
Zuggenauigkeit - 0,9455645161290323 Zuggenauigkeit - 0,9401881720430108
Prüfgenauigkeit - 0,834061135371179 Testgenauigkeit - 0,8318777292576419
----------------------------------------------------------------------------------------------------------------------------------------------
Modellvergleich-
Dies ist ein Prozess, bei dem wir alle Modelle vergleichen und die am besten optimierten Modelle finden.
Es gibt insgesamt 9 verschiedene Arten von Modellen, die jedes Modell 4 Mal auf folgende Weise baut:
- Ohne Skalierung
- Mit Skalierung
- Smote ohne Skalierung
- Schlagen Sie mit der Waage.
Das sind also insgesamt 36 Modelle.
Die Grundlage, auf der Modelle bewertet werden, werden als Leistungsmetriken bezeichnet. Die Metriken,
anhand derer das Modell bewertet wird, sind-
• Genauigkeit
• AUC
• Rückruf
• Präzision
• F1-Score
Ohne Skalierung-
Von der oben genannten-
- Grundlage für die Genauigkeit – Logistische Regression schnitt besser ab als andere.
- Basierend auf dem AUC-Score - Logistics Regression schnitt besser ab als andere.
- Grundlage für den Rückruf – Das Abfüllen von Säcken schnitt etwas besser ab als andere.
- Basis auf Präzision – Naive Bayes schnitten etwas besser ab als andere.
- Basis auf F1-Score – Logistische Regression zusammen mit einigen anderen hat gut
abgeschnitten.
Alle Modelle schnitten gut ab, mit einem leichten Unterschied von (1-5%).
Mit Skalier-
Smote-Leistungsmetriken -
Hier basiert der Vergleich nur auf Genauigkeitswerten. Dies hilft zu verstehen, ob die Verwendung von
Smote einen positiven Effekt hat oder nicht.
Beobachtungen-
- Aus den obigen 4 Tabellen ist ersichtlich, dass die Verwendung von Smote die Leistung der
Modelle nicht erhöht hat. Insgesamt schnitten Modelle ohne Smote sowohl für skalierte als auch
für unskalierte Daten gut ab. Somit macht das Auftragen von Smote hier keinen Sinn.
- Wie bei den skalierten und unskalierten Datenmodellen verbesserte die Skalierung nur die
Leistung der entfernungsbasierten Algorithmen für andere, was die Leistung insgesamt leicht
verringerte. Hier schnitt nur KNN aus dem skalierten Datenmodell etwas besser ab als das
unskalierte KNN-Modell.
- Bestes optimiertes Modell – Auf der Grundlage aller Vergleiche und Leistungsmetriken erzielte
„Logistische Regression“ ohne Skalierung die beste Leistung von allen.
1.8) Geben Sie auf der Grundlage Ihrer Analyse und der Arbeit an dem
Geschäftsproblem geeignete Erkenntnisse und Empfehlungen an, um dem
Management bei der Lösung des Geschäftsziels zu helfen.
Schlussfolgerungen
- Die logistische Regression hat das Beste aus allen gebauten Modellen herausgeholt.
- Logistische Regressionsgleichung für das Modell:
(3.05008) * Intercept + (-0.01891) * Age + (0.41855) * Economic_COND_National + (0.06714) *
Economic_COND_Household + (0.62627) * Blair + (-0.83974) * Hague + (- 0.21413) * Europe +
(-0.40331) * Political_Knowledge + (0.10881) * Gender
Die obige Gleichung hilft beim Verständnis des Modells und der Bedeutung der Merkmale, wie jedes
Merkmal zur vorhergesagten Ausgabe beiträgt.
Unser Hauptgeschäftsziel ist - "Ein Modell zu erstellen, um vorherzusagen, für welche Partei ein Wähler auf
der Grundlage der gegebenen Informationen stimmen wird, eine Exit-Umfrage zu erstellen, die bei der
Vorhersage des Gesamtsiegs und der von einer bestimmten Partei abgedeckten Sitze hilft."
2.1 Finden Sie die Anzahl der Zeichen, Wörter und Sätze für die genannten
Dokumente.
Zeichen
Figuren in Franklin D. Roosevelts Rede: 7571
Figuren in John F. Kennedys Rede: 7618
Figuren in Richard Nixons Rede: 9991
Wörter
Worte in Franklin D. Roosevelts Rede: 1536
Worte in John F. Kennedys Rede: 1546
Worte in Richard Nixons Rede: 20208
Sätze
Sätze in Franklin D. Roosevelts Rede: 68
Sätze in John F. Kennedys Rede: 52
Sätze in Richard Nixons Rede: 69
Die Stoppwortbibliothek enthält alle Stoppwörter wie ‘and‘, ’a‘, ’is‘, ’to‘, ’is‘, ’.‘, ‘of’, ‘to’ usw., die
normalerweise keine Bedeutung für das Verständnis der Stimmung oder Nützlichkeit in Algorithmen des
maschinellen Lernens haben. Diese im Paket enthaltenen Stoppwörter sind allgemein akzeptierte
Stoppwörter und wir können sie gemäß unserer Anforderung mit der Funktion (.extend ()) hinzufügen oder
entfernen.
Außerdem müssen wir die Sprache angeben, mit der wir arbeiten, bevor wir die Funktionen definieren, da
es viele Sprachpakete gibt. Hier werden wir Englisch verwenden.
Stemming ist ein Prozess, der dem Verarbeiter hilft, die Wörter zu verstehen, die eine ähnliche Bedeutung
haben. Dabei werden die Wörter durch Entfernen der Affixe auf ihre Basis- oder Wurzelebene gebracht. Es
wird häufig in Suchmaschinen verwendet. Zum Beispiel - essen, essen, essen, all dies wird nach dem
Stemming auf Essen reduziert.
Hier stehen "peopl", "spirit", "life" und "democraci" aufgrund der gleichen Anzahl von
Vorkommnissen auf dem dritten Platz.
Meist vorkommendes Wort: Nation.
2.4 Zeichnen Sie die Wortwolke jeder der Reden der Variablen. (nach
Entfernen der Stoppwörter)
Word Cloud ist eine Datenvisualisierungstechnik, die zur Darstellung von Textdaten verwendet wird, bei
der die Größe jedes Wortes seine Häufigkeit oder Bedeutung angibt. Zur Erzeugung der Word-Cloud
benötigen wir das Word-Cloud-Paket. Standardmäßig ist es nicht im Kernel installiert, daher müssen wir
es installieren.
Nach dem Import des Pakets werden wir die Stoppwörter wieder entfernen, aber kein Stemming
durchführen. Da das Entfernen von Stopp-Wörtern den Filter entfernen würde, würden die
unerwünschten Wörter, die möglicherweise keine Stimmungsanalyse haben, entfernt.
Wir können einige hervorgehobene Wörter wie "Nation", "wissen", "Menschen" usw. sehen, die wir in der
vorherigen Frage als Top-Wörter beobachtet haben. Dies zeigt, je größer die Größe, desto mehr Frequenz.
Wortwolke von Kennedys Rede:
Wortwolke von Nixons Rede:
Einblicke –
Unser Ziel war es, alle 3 Reden zu betrachten und zu analysieren. Um die Stärke und das
Gefühl der Reden zu finden.
Anhand der Ergebnisse können wir sehen, dass es einige ähnliche Wörter gibt, die in allen
Reden vorhanden sind.
Diese Worte mögen der Punkt sein, der die vielen Menschen inspirierte und ihnen auch den
Sitz des Präsidenten der Vereinigten Staaten von Amerika verschaffte
Unter allen Reden ist „ Nation “ das Wort, das in allen dreien deutlich hervorgehoben wird.