Wie Programmierer finanzielle Freiheit erreichen, Serie 1: Einsatz von Programmierkenntnissen für die Datenanalyse und -visualisierung

Autor: Zen und die Kunst der Computerprogrammierung

1. Einleitung

Haben Sie sich als Programmierer jemals gefragt, wie Sie „finanziell freier“ werden und alle Unannehmlichkeiten loswerden können, die das passive Einkommen mit sich bringt? Wenn Sie den Wandel vom Facharbeiter zur finanziellen Unabhängigkeit oder zum Unternehmer erlebt haben, sollten Sie wissen, wie Sie Ihre persönliche Erwerbsfähigkeit steigern können, ohne Ihren beruflichen Status zu opfern. In diesem Artikel erhalten Sie eine ausführliche Einführung in die Populärwissenschaft und erfahren, wie Sie Programmierfähigkeiten zum Verarbeiten, Analysieren und Visualisieren von Daten nutzen können, um Ihnen dabei zu helfen, finanzielle Freiheit zu erlangen.

2. Die Bedeutung der Datenanalyse und -visualisierung

Im Leben der Menschen spielen Daten eine entscheidende Rolle bei der Lösung verschiedener Lebensprobleme. Daten ermöglichen es uns, das Gesamtbild der Dinge zu sehen, die logischen Zusammenhänge dahinter aufzudecken und regelmäßige Faktoren zu finden. Durch Datenanalyse können wir vorhandene Daten in nützliche Informationen umwandeln und sie für Entscheidungen und die Lösung praktischer Probleme nutzen. Die Datenanalyse kann uns helfen, den wahren Wert von Daten zu erkennen, in den Daten verborgene regelmäßige Faktoren zu entdecken und entsprechende Strategien zum Erreichen von Zielen zu formulieren. Die Datenanalyse kann uns auch dabei helfen, die neuesten technologischen Entwicklungen zu erfassen, unsere Strategien anzupassen, wettbewerbsfähig zu bleiben und neuen Wert für das Unternehmen zu schaffen. Datenanalyse und Visualisierung sind auch im Computerbereich zwei der am weitesten verbreiteten Methoden, die dazu beitragen können, dass unser Leben erfüllter und bunter wird.

3. Was ist eine Programmiersprache? Warum es verwenden?

Eine Programmiersprache ist eine Sammlung symbolischer Anweisungen zum Schreiben von Computerprogrammen, die Computern oder anderen Robotersystemen mitteilen, wie Daten zu verarbeiten sind. Die Syntax und Funktionalität verschiedener Programmiersprachen ist sehr unterschiedlich, sie bestehen jedoch alle aus der gleichen Grundstruktur, können also füreinander in Maschinencode übersetzt und so vom Computer ausgeführt werden. Die Wahl der Programmiersprache wirkt sich direkt auf die Effizienz und Obergrenze unseres späteren Lernens aus und wirkt sich auch auf die von uns verwendeten Tools und deren Funktionen aus. Zu den bekannteren Programmiersprachen zählen Python, Java, JavaScript usw.

Um verstehen zu können, wie Programmierer Programmiersprachen zur Datenanalyse und -visualisierung verwenden, müssen Sie zunächst einige grundlegende Konzepte und Terminologie verstehen.

4.Grundlegende Konzepte und Terminologie

Art der Daten

Der Datentyp bezieht sich auf die Form, Größe und Anordnung der im Computerspeicher gespeicherten Daten. Verschiedene Programmiersprachen unterstützen unterschiedliche Datentypen, z. B. Ganzzahl, Gleitkomma, Zeichen, Boolescher Wert, Array, verknüpfte Liste, Baum, Diagramm usw.

Variable

Eine Variable (Variable) ist ein im Speicher gespeicherter Datenwert. Es ist ein Wert, der sich während der Ausführung des Programms ändert. Wir können über den Variablennamen auf seinen Wert zugreifen. Wenn eine Variable erstellt wird, wird ihr Speicherplatz zugewiesen. Variablen werden in lokale Variablen und globale Variablen unterteilt.

  • Lokale Variablen sind Variablen, die innerhalb eines Funktionskörpers definiert sind, auf die nur innerhalb dieser Funktion zugegriffen werden kann und die normalerweise mit einem Kleinbuchstaben oder Unterstrich beginnen.
  • Globale Variablen sind programmweit zugänglich und beginnen normalerweise mit einem Großbuchstaben.

Operator

Operatoren sind Symbole, die zum Ausführen arithmetischer Operationen, relationaler Operationen, Zuweisungsoperationen, logischer Operationen und anderer Operationen verwendet werden. Betreiber werden hauptsächlich in die folgenden Kategorien unterteilt:

  1. Arithmetische Operatoren: werden verwendet, um arithmetische Operationen an zwei Werten durchzuführen, z. B. Addition, Subtraktion, Multiplikation und Division.
  2. Vergleichsoperatoren: werden verwendet, um die Größenbeziehung zwischen zwei Werten zu bestimmen, z. B. gleich, ungleich, größer als, kleiner als, größer als oder gleich, kleiner als oder gleich.
  3. Zuweisungsoperator: Wird verwendet, um einer anderen Variablen einen Wert zuzuweisen, z. B. =, +=, -=, *=, /= usw.
  4. Logische Operatoren: werden zum Ausführen logischer Operationen an Ausdrücken wie AND oder NOT verwendet.
  5. Bedingungsoperator: Wird verwendet, um einen Wert basierend auf dem Wert eines bedingten Ausdrucks zurückzugeben, z. B. ? :.
  6. Inkrementierungs-/Dekrementierungsoperator: Wird zum Ändern des Werts einer Variablen verwendet, z. B. ++x, --x, x++, x--.
  7. String-Operatoren: werden zur Verkettung, zum Vergleich, zum Suchen von Teilstrings usw. verwendet.
  8. Funktionsaufrufoperator: Wird zum Aufrufen benutzerdefinierter Funktionen verwendet.
  9. Bitoperatoren: werden zum Ausführen binärer Operationen an ganzen Zahlen verwendet, z. B. AND, OR, XOR, NOT, Linksverschiebung, Rechtsverschiebung usw.

Kontrollanweisung

Die Steueranweisung ist ein wichtiger Zweig der Programmausführung, der die Ausführung bestimmter Befehle basierend auf bestimmten Bedingungen ermöglicht. Steueranweisungen umfassen die folgenden Kategorien:

  1. Verzweigungsanweisungen: einschließlich if-else-Anweisungen und Switch-Case-Anweisungen.
  2. Schleifenanweisungen: einschließlich for-Anweisungen, while-Anweisungen und do-while-Anweisungen.
  3. Sprunganweisungen: einschließlich goto-Anweisungen, break-Anweisungen, continue-Anweisungen und return-Anweisungen.

Funktion

Eine Funktion ist ein in sich geschlossener Codeblock, der eine bestimmte Aufgabe ausführt und ein Ergebnis zurückgibt. Eine Funktion besteht aus fünf Teilen: Funktionsname, Parameter, Funktionskörper und Rückgabewert. Funktionen können wiederverwendet und Codeduplizierungen vermieden werden.

Modul

Ein Modul ist eine unabhängige Quelldatei, die Funktionen, Klassen, Variablen und andere Definitionen enthält. Module können von anderen Programmen importiert werden und deren Elemente verwenden. In Python ist ein Modul eine .pyDatei.

Objekt

Objekt ist ein abstraktes Konzept. In der objektorientierten Programmierung bezieht es sich auf alles, was als Objekt betrachtet werden kann. In Python sind alle Elemente Objekte, einschließlich Zahlen, Zeichenfolgen, Listen, Tupel, Wörterbücher, Funktionen, Klassen usw.

API-Schnittstelle

API (Application Programming Interface) Schnittstelle, Anwendungsprogrammierschnittstelle, ist eine Reihe vordefinierter Regeln, um sicherzustellen, dass der Datenaustausch zwischen verschiedenen Softwareprogrammen den angegebenen Protokollen entspricht. Mit der API kann jeder Softwareentwickler seine eigenen Programmfunktionen integrieren, ohne die zugrunde liegende Implementierung zu kennen. Die Verwendung von APIs ermöglicht die Kommunikation von Programmen untereinander und fördert die Zusammenarbeit von Software.

5. Kernalgorithmus und Betriebsschritte

Chi-Quadrat-Test

Chi-Quadrat-Testprinzip

Der Chi-Quadrat-Test, auch Chi-Quadrat-Verteilungstest oder Chi-Quadrat-Statistiktest genannt, ist eine statistische Testmethode, mit der getestet wird, ob eine Beobachtungsstichprobe einer Normalverteilung entspricht. Es verwendet Stichprobendaten, um den Grad der Abweichung zwischen der Gesamterwartung und dem Stichprobenmittelwert zu berechnen. Wenn der Grad der Abweichung hoch genug ist, bedeutet dies, dass die Stichprobendaten die Gesamtverteilung nicht gut widerspiegeln, d dass die Stichprobendaten die Gesamtverteilung gut beschreiben und die Gesamtverteilung widerspiegeln. ihre Konsistenz.

Insbesondere eignet sich der Chi-Quadrat-Test zum Testen diskreter oder kontinuierlicher verteilter Daten. Nehmen Sie an, dass die Zufallsvariable X nur k verschiedene Werte hat und die Häufigkeiten jedes Werts f1, f2, ..., fk sind. Nehmen Sie an, dass diese Häufigkeiten die Normalverteilung erfüllen, d. h. die Varianz σ^2 = (n p (1-p))/(n-1), wobei p die Wahrscheinlichkeit jeder Kategorie in der Stichprobe und n die Stichprobe ist Größe. Angenommen, die Beispieldaten sind D = (d1, d2, ..., dk) und jedes di gehört zur i-ten Kategorie.

Gegeben sei ein bestimmter Satz von Stichprobendaten D=(d1, d2,..., dk) und die zu testende Populationsverteilung F(x). Berechnen Sie zunächst den Populationsmittelwert μ der Stichprobe:

μ = Σ(ki * pi) / n

Berechnen Sie dann die Wahrscheinlichkeitsfunktion L der Stichprobe:

L = ∏(fi^((di-mi)^2)/s^2), i=1,...,k

Hier ist s die Standardabweichung der Beispieldaten. Wenn die Stichprobendaten die Populationsverteilung F(x) erfüllen, sollte sich die Wahrscheinlichkeitsfunktion L der Stichprobendaten offensichtlich dem Maximalwert nähern. Der Zweck des Chi-Quadrat-Tests besteht darin, die Differenz zwischen L und der Maximum-Likelihood-Funktion L' zu berechnen und die entsprechenden Testergebnisse zu erhalten.

Chi-Quadrat-Testschritte

  1. Sammeln Sie Beispieldaten D und die zu testende Populationsverteilung F(x).
  2. Berechnen Sie den Populationsmittelwert μ der Stichprobe.
  3. Berechnen Sie die Varianz σ^2 der Stichprobe.
  4. Berechnen Sie basierend auf der Anzahl der Beispieldaten n den geschätzten Wert von σ^2.
  5. Basierend auf der Häufigkeit jeder Kategorie, die aus den Beispieldaten D berechnet wird, wird die Wahrscheinlichkeit pi jeder Kategorie berechnet.
  6. Der Schätzwert μ wird durch die Methode der kleinsten Quadrate ermittelt.
  7. Berechnen Sie die Summe der Quadrate jedes Termes, um die Chi-Quadrat-Statistik χ^2 zu erhalten.
  8. Berechnen Sie die Beziehung zwischen χ^2 und dem Freiheitsgrad df.
  9. Finden Sie χ^2 anhand der Beziehung zwischen χ^2 und dem Freiheitsgrad df.
  10. Bestimmen Sie anhand der Größe von χ^2, ob die Nullhypothese abgelehnt werden soll.

K-Means-Clustering-Algorithmus

Prinzip des K-Means-Clustering-Algorithmus

Der K-Means-Clustering-Algorithmus ist ein häufig verwendeter unbeaufsichtigter Lernalgorithmus. Er unterteilt n Eingabeproben iterativ in k Cluster, sodass die Proben im Cluster so nah wie möglich am Clusterzentrum liegen. Der Abstand zwischen den Clustern ist so groß wie möglich. Die Schwerpunktmethode wird im Allgemeinen zur Auswahl von Clusterzentren verwendet. Dies bedeutet, dass alle Stichproben auf die nächsten Nachbarn von k Schwerpunkten geclustert werden. Die Schritte des K-Means-Algorithmus sind wie folgt:

  1. Initialisieren Sie k Schwerpunkte und wählen Sie zufällig n Datenpunkte als anfängliche Schwerpunkte aus.
  2. Ordnen Sie jeden Datenpunkt dem Cluster mit dem nächstgelegenen Schwerpunkt zu.
  3. Aktualisieren Sie den Schwerpunkt. Für jeden Cluster wird der Schwerpunkt als durchschnittliche Position aller Punkte im Cluster neu berechnet.
  4. Wiederholen Sie die Schritte 2 und 3 für alle Datenpunkte, bis sich der Massenschwerpunkt nicht mehr bewegt.

K-bedeutet die Betriebsschritte des Clustering-Algorithmus

  1. Sammeln Sie den Trainingsdatensatz X.
  2. Geben Sie die anfänglichen Koordinatenwerte der K-Clusterzentren an.
  3. Wiederholen Sie die folgenden Vorgänge bis zur Konvergenz: a. Weisen Sie jedem Datenpunkt das nächstgelegene Clusterzentrum zu. b. Aktualisieren Sie den Koordinatenwert des Clusterzentrums. c. Auf Konvergenz prüfen.
  4. Das endgültige Clusterergebnis C wird zurückgegeben und jeder Datenpunkt wird dem entsprechenden Clusterzentrum zugewiesen.

PCA-Algorithmus (Principal Component Analysis) zur Dimensionsreduktion

Prinzip des PCA-Algorithmus zur Dimensionsreduktion

Der PCA-Algorithmus (Principal Component Analysis) zur Dimensionsreduzierung ist eine häufig verwendete Methode zur Reduzierung der Merkmalsdimensionalität. Sein Zweck besteht darin, hochdimensionale Daten in niedrigdimensionale Daten umzuwandeln. Die Hauptschritte sind wie folgt:

  1. Berechnen Sie die Kovarianzmatrix Σ der Stichprobe im ursprünglichen Raum. Die Kovarianzmatrix Σ ist eine symmetrische Matrix, bei der jeder Eigenwert auf der Diagonale aufgezeichnet wird und die verbleibenden Elemente die Korrelationskoeffizienten zwischen Eigenvektoren sind.
  2. Wählen Sie die Eigenvektoren, die den obersten k größten Eigenwerten entsprechen, aus der Kovarianzmatrix Σ als Unterraumbasis aus.
  3. Projizieren Sie die Originaldaten in einen neuen Unterraum, dh ordnen Sie die Darstellung des Merkmalsvektors jeder Probe im Unterraum den Koordinaten der Probe im neuen Unterraum zu.

Arbeitsschritte des PCA-Dimensionalitätsreduktionsalgorithmus

  1. Sammeln Sie den Trainingsdatensatz X.
  2. Verwenden Sie den PCA-Algorithmus, um die Daten in niedrigdimensionale Daten Y umzuwandeln.
  3. Verwenden Sie zur Klassifizierung dimensionsreduzierte Daten.

Supongo que te gusta

Origin blog.csdn.net/universsky2015/article/details/133446800
Recomendado
Clasificación