[PYTHON] Datenanalyse Titanic 2

Aidemy 2020/10/30

Einführung

Hallo, es ist ja! Ich bin eine knusprige Literaturschule, aber ich war an den Möglichkeiten der KI interessiert, also ging ich zur KI-Fachschule "Aidemy", um zu studieren. Ich möchte das hier gewonnene Wissen mit Ihnen teilen und habe es in Qiita zusammengefasst. Ich freue mich sehr, dass viele Menschen den vorherigen zusammenfassenden Artikel gelesen haben. Vielen Dank! Dies ist der zweite Beitrag von "Data Analysis Titanic". Freut mich, dich kennenzulernen.

Was diesmal zu lernen ・ ④ Musteranalyse, Datenanalyse (Fortsetzung der vorherigen Zeit) ・ ③ Daten gestalten, erstellen, bereinigen (zurückgeben) → __ Neue Funktionen erstellen __

④ Musteranalyse, Datenanalyse

Analyse der vorherigen Pivot-Tabelle (Korrelation)

・ Wenn Pclass = 1 ist, beträgt der Durchschnitt der Überlebenden 0,62, und es kann gesagt werden, dass es eine signifikante (positive) Korrelation gibt, die 0,5 überschreitet. Daher sollte Pclass als Merkmal des Modells verwendet werden. Und.

Daten visualisieren

Erstellen Sie ein Histogramm, indem Sie den Altersbereich angeben

-__ Um die Hypothese zu bestätigen, dass "Kinder eine hohe Überlebensrate haben" __, geben Sie den Bereich der __Age-Daten an und teilen Sie ihn __. Verwenden Sie diese Option, um eine Datenverteilung mit __dialog __ zu erstellen. -Für dieses Histogramm ist die horizontale Achse Alter, aber die vertikale Achse ist die Anzahl der Daten, dh die Anzahl der Passagiere. Seien Sie also vorsichtig.

-Das Histogramm kann mit __ "df.hist ()" __ erstellt werden. Wie viele Klassen erstellt werden sollen (wie viele Daten müssen geteilt werden), kann durch __ "bins =" __ im Argument angegeben werden, und wenn Survive die Anzahl der Daten von 0 bzw. 1 sehen möchte __ Sie können den Parameter mit "by =" __ angeben.

·Code スクリーンショット 2020-10-22 15.12.23.png

・ Ergebnis (Grafik) スクリーンショット 2020-10-22 15.13.00.png

・ Wenn wir uns die Ergebnisse ansehen, können wir sehen, dass __ "0-5 Jahre alt" eine hohe Überlebensrate hat __. ・ Wenn wir uns die Gesamtzahl der Daten ansehen, können wir auch feststellen, dass die Anzahl der __ "15-35 Jahre alt" groß ist __.

Korrelation von Merkmalen mit "Kategoriewert und Zahlenwert"

・ Als nächstes wird das Histogramm für jedes im vorherigen Abschnitt erstellte Alter für jede __P-Klasse weiter visualisiert. -Der Code erstellt ein Histogramm für __Survived and Age und schreibt es so, dass es durch __ "by = train_df ['Pclass']" __ geteilt wird.

·Code スクリーンショット 2020-10-22 15.29.52.png ・ Grafik (tot) スクリーンショット 2020-10-22 15.30.21.png ・ Grafik (Überlebender) スクリーンショット 2020-10-22 15.30.36.png

・ Aus dieser Grafik geht hervor, dass __ "Es gibt überwiegend viele Todesfälle mit P-Klasse = 3" "Viele Überlebende mit P-Klasse = 1" "Viele Überlebende mit Alter von P-Klasse = 2 und 3 sind 0 bis 5 Jahre alt" __ Sie können sehen, dass. Es kann gesagt werden, dass beide als hypothetisch sind.

Korrelation von Merkmalen mit "Kategoriewert"

-Erstellen Sie die Pivot-Tabelle auf die gleiche Weise wie in Kapitel 1. Vergessen Sie nicht, den Inhalt von __Embarked dieses Mal mit einem bedingten Ausdruck __ anzugeben. Da es zwei Gruppen (Aggregate) gibt, Pclass und Sex, übergeben Sie diese als Liste. -Sex teilt die erstellte Pivot-Tabelle durch male und female und sortiert sie in der Reihenfolge Pclass. -Dies wird durch __ "plt.plot ()" __ veranschaulicht. Die x-Achse ist __ ['1', '2', '3'] __ und die y-Achse ist die Anzahl der __Überlebten Daten __.

-Code (wenn __Embarked = 'C' __. Die anderen beiden werden auf die gleiche Weise erstellt) (Das geschnittene Teil ist das gleiche wie beim vorherigen Mal) スクリーンショット 2020-10-22 16.21.55.png

・ Grafik (nur wenn Embarked = 'C', die anderen beiden sind ähnliche Grafiken) スクリーンショット 2020-10-22 16.22.44.png

・ Aus dieser Grafik geht hervor, dass __ "Die Überlebensrate von Frauen überwältigend hoch ist" __. Dies ist auch die Hypothese. Es wurde auch festgestellt, dass, obwohl hier nicht gezeigt, __ "Männer mit Embarked = 'Q' eine sehr niedrige Überlebensrate haben" __.

Korrelation zwischen Merkmalsgrößen mit "Kategoriewert" und Merkmalsgrößen mit "Zahlenwert"

③ Daten gestalten, erstellen, bereinigen

Daten löschen

Neue Funktionen erstellen

・ Code![Screenshot 2020-10-23 15.28.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/3a3d54fa-669e-ec58- d0cd-c0463cabf909.png)

・ Ergebnis (nur Teil)![Screenshot 2020-10-23 15.29.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/b946ce52 -b42c-6610-b702-733193b204d0.png)

・ Von den hier angezeigten Titeln sind die weniger häufigen im anderen Frame mit dem Namen __ "'Rare'" __ zusammengefasst. Ersetzen Sie außerdem "Meile" durch "Frau" und "Frau" durch "Frau", die dieselbe Bedeutung haben. Diese Ersetzungen können mit __ "replace ()" __ erfolgen. ・ Wenn Sie diesen Punkt erreicht haben, erstellen Sie eine Pivot-Tabelle und überprüfen Sie die Korrelation.

・ Code![Screenshot 2020-10-23 15.53.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/f5fbcf9e-4689-7002- c398-1e91950f9a23.png)

-Für diesen Titel möchte ich jedes Element als numerischen Wert behandeln, also konvertiere es in __ {"Mr": 1, "Miss": 2, "Mrs": 3, "Master": 4, "Rare": 5} __ Machen. -Die Methode kann konvertiert werden, indem die obige Entsprechungstabelle (Wörterbuch) erstellt und die Funktion __ "map ()" __ auf den Datensatz ['Titel'] angewendet wird. -Wenn die folgende Ausführung abgeschlossen ist, löschen Sie __ "Name" und "Passagier-ID" wie ursprünglich erwartet __.

・ Code![Screenshot 2020-10-23 16.06.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/5943862b-98ea-c3c3- 5043-4354df7e6780.png)

・ Ergebnis![Screenshot 2020-10-23 16.06.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/5943862b-98ea-c3c3- 5043-4354df7e6780.png)

Konvertieren Sie mehrwertige Daten in Binärdaten

·Code スクリーンショット 2020-10-24 10.52.27.png

Ergänzung der Feature-Menge Alter

・ Dieses Mal wird die Methode __ "2" __ verwendet. Insbesondere gibt es zwei Merkmalsgrößen, die mit "Alter" korrelieren: __ "Geschlecht" und "P-Klasse" . Unter Bezugnahme auf diese beiden Merkmalsgrößen wird der geschätzte Wert des Alters ( Zwischenalter__) erhalten.

・ Berechnen Sie als Nächstes den geschätzten Wert für Alter (__ Zwischenalter__). Extrahieren Sie zunächst den Wert von 'Alter' für alle Kombinationen von 'Sex' und 'Klasse' (ohne NaN). Da es __ "2 * 3 Wege" __ Kombinationen gibt, wird die Größe der Matrix als __ (2,3) __ angegeben. Wenn Sie dagegen __ "median ()" __ verwenden, um den __median __ zu erhalten, ist dies das mittlere Alter.

・ Code![Screenshot 2020-10-24 11.45.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/8635098f-1cc3-b47d- 3fde-5d38456d4077.png)

·Ergebnis スクリーンショット 2020-10-24 11.46.09.png

Konvertieren Sie kontinuierliche Werte in diskrete Werte

AgeBand

-Auch ich möchte die Korrelation zwischen AgeBand und Survived überprüfen, also erstelle ich auch eine __pivot-Tabelle __.

・ Code![Screenshot 2020-10-24 15.05.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/7e4a2eb9-9049-f7bf- 089f-9bc99492ab70.png)

-Nächste wird das in diskrete Werte konvertierte Alter in Ordnungsdaten __ konvertiert. Wenn AgeBand __ "0 ~ 16" ist, wird es in 0 konvertiert, wenn es "16 ~ 32" ist, wird es in 1 konvertiert, wenn es "32 ~ 48" ist, wird es in 2 konvertiert und wenn es "48 ~ 64" ist, wird es in 3 konvertiert. .. -Die Konvertierungsmethode besteht darin, den Bereich von 'Alter' mit __loc [bedingter Ausdruck, zu konvertierende Spalte] __ zu extrahieren und durch den obigen numerischen Wert zu ersetzen. ・ Wenn Sie fertig sind, löschen Sie AgeBand mit __drop () __.

・ Code![Screenshot 2020-10-24 15.06.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/91f81220-3eec-8b5e- a75e-54730478ecb5.png)

Neue Funktionen erstellen

FamilySize

・ Code![Screenshot 2020-10-24 15.07.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/20905888-8aa5-75a6- c0de-58a3afe6aa48.png)

IsAlone -Die oben genannte FamilySize wird als __ "einzeln oder familienfreundlich" __ klassifiziert, um sie abstrakter zu gestalten. Das heißt, wenn FamilySize 1 ist, wird es als "IsAlone = 1" konvertiert, andernfalls wird es als "IsAlone = 0" konvertiert.

・ Code![Screenshot 2020-10-24 15.07.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/0bac092b-b650-d823- 22d6-f72c14bf151b.png)

Age*Class -Hier erstellen wir ein künstliches Merkmal namens __ "Alter * Klasse" __, das durch Multiplizieren von "Alter" mit "Grad der Kabine" gewichtet wird. Um es zu machen, extrahieren Sie einfach Age und Pclass so wie es ist.

Ergänzung mit dem häufigsten Wert eingeschifft

·Code スクリーンショット 2020-10-24 15.41.33.png

·Code スクリーンショット 2020-10-24 15.54.28.png

Ergänzende numerische Daten Tarif

・ Code![Screenshot 2020-10-24 17.00.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/2e191c9f-1baf-a732- b0c1-cebc72c7d1e8.png)

·Code スクリーンショット 2020-10-24 16.59.52.png

Zusammenfassung

・ Die Korrelation mit der Zielvariablen __ "Survived" wurde untersucht __ und diejenigen mit einer signifikanten Korrelation wurden so wie sie waren verwendet, und diejenigen ohne eine signifikante Korrelation wurden aus dem Titel Tirle extrahiert. Sie können beispielsweise den - Teil der Variablen herausnehmen und ein neues Feature erstellen, oder Sie können ein neues Feature erstellen, indem Sie Parch und SibSp __FamilySize kombinieren.

Diese Zeit ist vorbei. Vielen Dank für das Lesen bis zum Ende.

Recommended Posts

Datenanalyse Titanic 2
Datenanalyse Titanic 1
Datenanalyse Titanic 3
Datenanalyse Python
Ich habe versucht, Faktoren mit Titanic-Daten zu analysieren!
Datenanalyse vor der Erzeugung der Titanic-Features von Kaggle
Datenanalyse mit Python 2
Datenanalyse mit xarray
Datenanalyse Übersicht Python
Python-Datenanalysevorlage
Datenanalyse mit Python
Ich habe versucht, die Hauptkomponenten mit Titanic-Daten zu analysieren!
Mein Python-Datenanalyse-Container
Mehrdimensionale Datenanalysebibliothek xarray
Python für die Datenanalyse Kapitel 4
[Python] Hinweise zur Datenanalyse
Lernnotizen zur Python-Datenanalyse
Python für die Datenanalyse Kapitel 2
Wrap-Analyse Teil1 (Datenaufbereitung)
Datenanalyse mit Python-Pandas
Tipps und Vorsichtsmaßnahmen bei der Datenanalyse
Python für die Datenanalyse Kapitel 3
Twitter-Daten analysieren | Trendanalyse
Lassen Sie uns die Analyse der sinkenden Daten der Titanic so durchführen
Erste Satellitendatenanalyse von Tellus
Datenvorhersagewettbewerb in 3 Schritten (titanisch)
Vorverarbeitungsvorlage für die Datenanalyse (Python)
November 2020 Version Datenanalyse Test bestanden Erfahrung
Datenanalyse zur Verbesserung von POG 3 ~ Regressionsanalyse ~
Empfehlung zur Datenanalyse mit MessagePack
Zeitreihenanalyse 3 Vorverarbeitung von Zeitreihendaten
Datenanalyse beginnend mit Python (Datenvisualisierung 1)
Datenanalyse beginnend mit Python (Datenvisualisierung 2)
Datenverarbeitung 2 Analyse verschiedener Datenformate
Mehrdimensionale Datenanalysebibliothek xarray Teil 2
Visualisierung und Analyse von Stava Twitter-Datenstandortinformationen
Python-Visualisierungstool für die Datenanalyse
Überprüfen Sie die Rohdaten mit Kaggles Titanic (kaggle ⑥)
Datenanalyse, was machen Sie denn?
Datenverarbeitung
[Python] Erste Datenanalyse / maschinelles Lernen (Kaggle)
Erstellen einer Datenanalyseanwendung mit Streamlit
Parabolische Analyse
Datenanalyse beginnend mit Python (Datenvorverarbeitung - maschinelles Lernen)
[Datenanalyse] Lassen Sie uns die US-Automobilbestände analysieren
Ich habe ein Python-Datenanalysetraining aus der Ferne durchgeführt
Datenanalyseumgebung mit Schwerpunkt auf Datalab (+ GCP)
Vorbereitung auf die von Python 3 Engineer zertifizierte Datenanalyseprüfung
Vorverarbeitung beim maschinellen Lernen 1 Datenanalyseprozess
JupyterLab Grundeinstellung 2 für die Datenanalyse (pip)
JupyterLab Basic Setup für die Datenanalyse (pip)
Datenanalyse zur Verbesserung von POG 2 ~ Analyse mit Jupiter-Notebook ~
Bereiten Sie eine Programmiersprachenumgebung für die Datenanalyse vor
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: Laden von Daten
Python3 Engineer Zertifizierungsdatenanalyse Test selbst erstellte Problemerfassung