Ich habe den Python-Datenanalysetest bestanden und die Punkte zusammengefasst

Über diesen Artikel

Ich habe den Python Data Analysis Test bestanden und die Punkte zusammengefasst.

1. Rolle des Datenanalyseingenieurs

Betreutes Lernen und unbeaufsichtigtes Lernen

Überwachtes Lernen ist eine Lernmethode mit einem Etikett, das die richtige Antwort gibt. Die Zieldaten, die die richtige Bezeichnung haben, werden als "Zielvariable" bezeichnet. Andere Daten als die Zielvariable werden als "erklärende Variable" bezeichnet. Überwachtes Lernen ist eine Lernmethode, die die Zielvariable unter Verwendung von ** erklärenden Variablen ** vorhersagt.

Auf der anderen Seite ist unbeaufsichtigtes Lernen eine Lernmethode, bei der keine korrekten Antwortetiketten verwendet werden. Da es kein korrektes Antwortetikett gibt, bedeutet dies ** eine Lernmethode ohne objektive Variable **.

Klassifizierung und Clustering

Die Klassifizierung des überwachten Lernens ** ist im Voraus klar definiert, wie viele Gruppen aufgeteilt werden sollen. Wenn Sie beispielsweise Hunde und Katzen klassifizieren möchten, würden Sie sie in zwei Gruppen einteilen.

Auf der anderen Seite wird Clustering als unbeaufsichtigtes Lernen eingestuft, und es ist nicht klar, wie viele Gruppen es geben wird **. Vielleicht sind es 3 Gruppen, vielleicht 5 Gruppen.

Verarbeitungsverfahren für maschinelles Lernen

Maschinelles Lernen wird auf diese Weise verarbeitet.

Daten bekommen->Datenverarbeitung->Datenvisualisierung->Algorithmusauswahl->Lernprozess->Genauigkeitsbewertung->Probebetrieb->Ergebnisverwendung (Servicebetrieb)

Maschinelles Lernen benötigt nur ** Daten **.

Datenanalysepaket

Die Hauptpakete für die Datenanalyse sind:

Selbst wenn ich einen Fehler mache, benutze ich kein Django. Obwohl SciPy in Nachschlagewerken kaum vertreten ist, handelt es sich um ein Paket zur Datenanalyse.

2. Python und Umgebung

Befehl pip

Der Befehl pip aktualisiert die installierte Bibliothek auf die neueste Version, indem die Option -U hinzugefügt wird. So installieren Sie die neueste Version explizit:

$ pip install -U numpy pandas

Leere Zeichenfolge entfernen

Verwenden Sie die "Strip-Methode", um die ** linken und rechten Leerzeichen ** zu entfernen.

in


bird = '   Condor Penguin Duck    '
print("befor strip: {}".format(bird))
print("after strip: {}".format(bird.strip()))

out


befor strip:    Condor Penguin Duck    
after strip: Condor Penguin Duck

Essiggurkenmodul

Das ** pickle-Modul ** serialisiert Python-Objekte, damit sie in Dateien gelesen und geschrieben werden können.

Pathlib-Modul

Wenn Sie Pfade in Python verwenden möchten, verwenden Sie das ** pathlib-Modul **.

Magischer Befehl

Das Jupyter-Notizbuch verfügt über einen Befehl namens ** Magic Command **. Zum Beispiel "%% timeit" und "% timeit". Beides sind Befehle, die das Programm mehrmals ausführen und die Ausführungszeit messen.

% timeit misst die Zeit für eine einzelne Programmzeile. Andererseits misst "%% timeit" die Verarbeitungszeit der gesamten Zelle.

in


%%timeit
x = np.arange(10000)
fig, ax = plt.subplots()
ax.pie(x, shadow=True)
ax.axis('equal')
plt.show()

out


#Die Ausgabe von Zahlen entfällt
12 s ± 418 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

3. Grundkenntnisse zum Lesen mathematischer Formeln

Das Schreiben in Qiita braucht Zeit, deshalb werde ich es kurz vorstellen. Ich denke, es ist eine gute Idee, sich die Grafiken und andere Informationen genauer anzusehen, um die Trends zu erkennen.

Logarithmische Funktion

Die durch die folgende Formel ausgedrückte Funktion heißt ** logarithmische Funktion **.

f\left( x\right) =\log _{2}x

Euklidische Entfernung

Es gibt einen ** euklidischen Abstand ** als Methode, um die skalare Größe des Vektors zu ermitteln, dh um den Nomul zu ermitteln.

\left\| x\right\| _{1}=\left| x_{1}\right| +\left| x_{2}\right| +\ldots +\left| x_{n}\right| 

Einfach ausgedrückt werden die absoluten Werte jedes Elements des Vektors addiert.

Matrix-Multiplikation

Das Multiplizieren der "m × s" -Matrix mit der "s × n" -Matrix ergibt die "m × n" -Matrix.

Wie die m × s Matrix und die x × n Matrix kann sie nur multipliziert werden, wenn die Anzahl der Matrizen übereinstimmt. Im Gegensatz zur mathematischen Multiplikation ändert sich auch das Ergebnis der Matrixmultiplikation, wenn sich die Reihenfolge ändert.

Differenzierung des natürlichen Logarithmus

$ f \ left (x \ right) = e ^ {x} $ ändert sich nicht, auch wenn es ** differenziert ** ist.

f'\left( x\right) =e^{x}

4.1 NumPy

dtype-Attribut

Sie können den ** Elementdatentyp ** des NumPy-Arrays ndarray mit dem Attribut dtype überprüfen. Übrigens kann die Python-Typmethode den Typ (ndarray) des Arrays selbst überprüfen.

in


a = np.array([1, 2, 3])
print("ndarray dtype: {}".format(a.dtype))
print("ndarray type: {}".format(type(a)))

out


ndarray dtype: int32
ndarray type: <class 'numpy.ndarray'>

Kopieren und referenzieren

In ndarray ist die Operation "b = a" eine Referenz. (Wenn Sie den Wert von b ändern, ändert sich auch der Wert von ** **) Wenn Sie "b = a.copy ()" ausführen, wird dies als Kopie behandelt. (Ändern Sie den Wert von b ändert nicht den Wert von ** a)

Wenn Sie eine Python-Standardliste in Scheiben schneiden, erhalten Sie eine ** Kopie **. Wenn Sie jedoch das Ergebnis in Numpy schneiden, erhalten Sie eine ** Referenz **.

Wenn Sie verschiedene Kombinationen ausprobieren, erhalten Sie ein besseres Verständnis.

nan Verwenden Sie np.nan, um in NumPy nicht numerisch zu deklarieren.

in


a = np.array([1, np.nan, 3])
print(a)

out


[ 1. nan  3.]

Partitionieren der Matrix

Die vpslit-Funktion zerlegt die Matrix in ** Zeilenrichtung ** und die hsplit-Funktion zerlegt die Matrix in ** Spaltenrichtung **.

in


a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
first1, second1 = np.vsplit(a, [2])
first2, second2 = np.hsplit(second1, [2])
print(second2)

out


[[9]]

Durchschnittswert

Verwenden Sie die Mittelwertmethode, um den Durchschnittswert der Matrix zu ermitteln.

in


a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
a.mean()

out


5.0

Logischer Wert

ndarray wird beim Vergleich durch den Bediener als Wahr / Falsch angezeigt.

in


a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
a > 4

out


array([[False, False, False],
       [False,  True,  True],
       [ True,  True,  True]])

4.2 Pandas

Angabe des Index- / Spaltennamens

Verwenden Sie die ** loc-Methode / iloc-Methode **, um Daten durch Angabe von Indizes und Spalten aus DataFrame zu extrahieren.

Die loc-Methode gibt den Index- und Spaltennamen ** Indexname und Spaltenname ** an. Die iloc-Methode gibt Indizes und Spalten nach ** Position oder Bereich ** an.

in


df = pd.DataFrame([[1, 2, 3], [5, 7, 11], [13, 17, 19]])
df.index = ["01", "02", "03"]
df.columns = ["A", "B", "C"]

display(df.loc[["01", "03"], ["A", "C"]])
display(df.iloc[[0, 2], [0, 2]])

image.png

Daten schreiben / lesen

Daten werden mit to_xxx geschrieben und mit to_xxx gelesen. Excel, CSV, Pickle usw. werden unterstützt.

in


df.to_excel("FileName.xlsx")
df = pd.read_excel("FineName.xlsx")

Daten sortieren

Sortieren Sie die Daten mit der Methode sort_values. ** Standardmäßig erfolgt die Sortierung in aufsteigender Reihenfolge. ** ** ** Setzen Sie ascending = False als Argument, um in absteigender Reihenfolge zu sortieren.

in


df = pd.DataFrame([[1, 2, 3], [5, 7, 11], [13, 17, 19]])
df.index = ["01", "02", "03"]
df.columns = ["A", "B", "C"]

df.sort_values(by="C", ascending=False)

image.png

One-Hot-Codierung

Sie können mit der Methode "get_dummies" in eine One-Hot-Codierung konvertieren. One-Hot-Codierung fügt ** Spalten ** nur für kategoriale Variablentypen hinzu.

Datumsarray

Verwenden Sie die data_range-Methode, um das Datumsarray abzurufen. Sie können Datumsangaben ** für die Argumente ** Start und Ende ** festlegen.

in


dates = pd.date_range(start="2020-01-01", end="2020-12-31")
print(dates)

out


DatetimeIndex(['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-04',
               '2020-01-05', '2020-01-06', '2020-01-07', '2020-01-08',
               '2020-01-09', '2020-01-10',
               ...
               '2020-12-22', '2020-12-23', '2020-12-24', '2020-12-25',
               '2020-12-26', '2020-12-27', '2020-12-28', '2020-12-29',
               '2020-12-30', '2020-12-31'],
              dtype='datetime64[ns]', length=366, freq='D')

4.3 Matplotlib

Nebenhandlung

Geben Sie die Anzahl der Unterdiagramme an, die in das Argument der Unterdiagrammmethode eingefügt werden sollen. ** Wenn es nur eine Zahl gibt, werden zwei Zeilen mit Unterplots platziert, und wenn ncols angegeben ist, werden zwei Spalten mit Unterplots platziert **.

in


fig, axes = plt.subplots(2)
display(plt.show())

image.png

in


fig, axes = plt.subplots(ncols=2)
display(plt.show())

image.png

Streudiagramm

Das Streudiagramm kann mit der "Streumethode" gezeichnet werden.

Histogramm

Das Histogramm kann mit der "Hist-Methode" gezeichnet werden. Sie können die Anzahl der Bins ** mit dem Argument ** bins angeben.

Kuchendiagramm

Kreisgraphen können mit der "pi-Methode" gezeichnet werden. Standardmäßig wird es von rechts ** gegen den Uhrzeigersinn ** gezeichnet.

Stil

Für die Farbe können Sie ** den in HTML, X11 oder CSS4 ** definierten Farbnamen angeben. Schriftstile können auch ** in einem Wörterbuch definiert und gemeinsam oder einzeln angewendet werden **.

4.4 scikit-learn

Klassifizierungsmodell

Der Klassifizierungsmodelldatensatz ist in ** Trainingsdaten ** und ** Testdaten ** unterteilt. Dies liegt daran, dass die ** Generalisierungsfähigkeit ** des Modells bewertet werden muss.

Entscheidungsbaum

Der Entscheidungsbaum verfügt über eine Funktion, mit der das Modell visualisiert werden kann und der Inhalt leicht zu verstehen ist **. Die Parameter müssen vom Benutzer eingestellt werden. Der Zweck des Entscheidungsbaums besteht darin, den Informationsgewinn zu maximieren oder unrein zu minimieren. (Beide haben die gleiche Bedeutung)

Dimensionsreduzierung

Die Dimensionsreduzierung ist die Aufgabe, die Dimensionen zu reduzieren, ohne die Daten so stark wie möglich zu beschädigen. Beispielsweise können Sie die unwichtigen Y-Daten aus den zweidimensionalen X- und Y-Daten löschen, um sie nur zu eindimensionalen X-Daten zu machen.

ROC-Kurve und AUC

Die ROC-Kurve soll vorhersagen, dass alle Daten über der Wahrscheinlichkeit jeder Daten ein positives Beispiel sind, wenn die Daten in absteigender Reihenfolge der Wahrscheinlichkeit angeordnet sind. Wenn sich der AUC-Wert 1 nähert, ist die Stichprobe mit einer relativ hohen Wahrscheinlichkeit tendenziell ein positives Beispiel, und die Stichprobe mit einer relativ niedrigen Wahrscheinlichkeit ist tendenziell ein negatives Beispiel. Mit anderen Worten, AUC kann die Güte zwischen Modellen vergleichen.

Referenz / Zitat

Neues Lehrbuch zur Datenanalyse mit Python

Recommended Posts

Ich habe den Python-Datenanalysetest bestanden und die Punkte zusammengefasst
Ich habe die Zertifizierungsprüfung für Python-Ingenieure bestanden und die Lernmethode freigegeben
[Super-Grundlagen von Python] Ich habe die Grundlagen der Grundlagen gelernt und sie daher kurz zusammengefasst.
Ich habe ein Python-Datenanalysetraining aus der Ferne durchgeführt
Datenanalyse Python
Wie sollen die in Curl --data-urlencode übergebenen Daten in Python Requests dargestellt werden?
Da die Extraktion von Synonymen mit Word2Vec gut verlief, habe ich versucht, die Analyse zusammenzufassen
[Datenanalyse] Soll ich die Harumi-Flagge kaufen?
Ich habe den ersten AI-Implementierungstest [Note A] bestanden und verschiedene Dinge ausprobiert
Datenanalyse mit Python 2
Datenanalyse Übersicht Python
Python-Datenanalysevorlage
Datenanalyse mit Python
Ich habe versucht, das Spiel in der J League vorherzusagen (Datenanalyse)
[Test zur Analyse der Zertifizierungsdaten für Python3-Ingenieure] Prüfung / Bestehen der Erfahrung
Ich habe das neueste automatische Testtool "Playwright for Python" berührt.
Ich habe die gleiche Datenanalyse mit kaggle notebook (python) und PowerBI gleichzeitig versucht ②
[Python] Hinweise zur Datenanalyse
[In kürzester Zeit verstehen] Python-Grundlagen für die Datenanalyse
Ich habe die gleiche Datenanalyse mit kaggle notebook (python) und PowerBI gleichzeitig versucht ①
Lernnotizen zur Python-Datenanalyse
Ich habe versucht, den Chi-Quadrat-Test in Python und Java zu programmieren.
Python für die Datenanalyse Kapitel 2
[Python] Ich habe versucht, Daten mit der API von Wikipedia zu sammeln
Datenanalyse mit Python-Pandas
Ich habe die Python-Quelle heruntergeladen
Python für die Datenanalyse Kapitel 3
Ich habe 4 Bibliotheken des Python 3 Engineer Certification Data Analysis-Tests studiert
Python: Zeitreihenanalyse: Vorverarbeitung von Zeitreihendaten
AtCoder: Python: Papa der Beispieltest.
Im Python-Befehl zeigt Python auf Python3.8
Ich mochte den Tweet mit Python. ..
Vorverarbeitungsvorlage für die Datenanalyse (Python)
Ich habe den ersten AI-Implementierungstest [Note A] bestanden und verschiedene Dinge ausprobiert
Python-Implementierung der Bayes'schen linearen Regressionsklasse
November 2020 Version Datenanalyse Test bestanden Erfahrung
Ich habe die Warteschlange in Python geschrieben
Datenanalyse beginnend mit Python (Datenvisualisierung 1)
Datenanalyse beginnend mit Python (Datenvisualisierung 2)
Ich habe den Stack in Python geschrieben
Ich hatte Python satt und analysierte die Daten mit Nehan (Corona verwandt, ist das Wort jetzt?)
Erleben Sie Teil I "Multinationale Währung" des Buches "Test Driven Development" mit Python
Da die Handhabung der Cython-Form mühsam war, fasste ich die Punkte zusammen, bei denen ich vorsichtig war
Ich habe versucht, fMRI-Daten mit Python zu analysieren (Einführung in die Dekodierung von Gehirninformationen)
Python-Visualisierungstool für die Datenanalyse
Schreiben Sie den Test in die Python-Dokumentzeichenfolge
Generieren Sie japanische Testdaten mit Python faker
Die Ordnerstruktur von Flask ist zusammengefasst
Ich habe versucht, Faktoren mit Titanic-Daten zu analysieren!
Ich habe versucht, die verkratzten Daten in CSV zu speichern!
Die Python-Projektvorlage, an die ich denke.
Datenanalyse beginnend mit Python (Datenvorverarbeitung - maschinelles Lernen)
[Python-Anfänger] Ich habe die Artikel gesammelt, die ich geschrieben habe
Ich habe das Datenaufbereitungstool Paxata berührt
Vorbereitung auf die von Python 3 Engineer zertifizierte Datenanalyseprüfung
Ich habe das Python Tornado Testing Framework ausprobiert
python setup.py testet den Code mit Multiprocess
Testen Sie, ob die beobachteten Daten der Poisson-Verteilung folgen (Test der Eignung der Poisson-Verteilung durch Python)