Sergey Nivens - Fotolia

Data-Science-Projektbeispiel für Deep-Learning-Profis

Deep-Learning-Profis, die tiefer in das Thema Data Science einsteigen möchten, benötigen spezielle Fähigkeiten und Tools. Hier ein Projektbeispiel.

Viele in der Cloud verfügbare Machine- und Deep-Learning-Services basieren auf allgemeinen Algorithmen und neuronalen Netzwerken, die aus der Wissenschaft stammen. Und während Cloud-Anbieter, einschließlich Amazon, diese Technologien für das Unternehmen zugänglicher gemacht haben, benötigen IT-Teams immer noch ein grundlegendes Verständnis für Data Science Tools, bevor sie diese nutzen können.

Kaggle, ein Anbieter von Data-Science- und Machine-Learning-Technologien, hat 16.807 IT-Fachleute befragt, die mit Deep Learning arbeiten. Die Umfrage beinhaltet 290 Fragen zu beruflichen Fähigkeiten, Gehalt, Arbeitsleistungen und mehr.

Werfen wir einen Blick auf diese Rohdaten als Grundlage für ein einfaches Data-Science-Experiment. Die Kaggle-Daten sind allerdings viel zu groß, um sie in eine Tabellenkalkulation zu laden, es sei denn, der Computer hat viel Arbeitsspeicher. Und selbst wenn man es könnte, ließen sich nicht so spezifische Frage stellen, wie es mit Data Science Tools möglich ist.

Datenbanken sind für diese Art von Aufgaben besser geeignet. Im Folgenden finden Sie alle Codes und Anweisungen, die Sie benötigen, um ein Data-Science-Projekt zu diesen Umfragedaten zu bearbeitet. Sie wählen einfach eines der Felder im Schema aus und ändern die Fragen zu dem, was Sie interessiert.

Graben Sie sich durch das Data-Science-Experiment

Lassen Sie uns Apache Spark und Databricks verwenden, um eine CSV-Datei in einen Datenrahmen zu konvertieren, der einer SQL-Tabelle ähnelt. Es ist einfacher, mit dieser Art von Datenstruktur zu arbeiten, da fast jeder Programmierer SQL versteht.

Folgen Sie diesen Anweisungen, um Spark, Databricks und die Kaggle-Daten zu installieren. Diese Befehle sind für Linux. Allerdings sind die Befehle für macOS die gleichen. Für Windows folgen Sie den Anweisungen des jeweiligen Anbieters. Die meisten Data Scientists verwenden jedoch nicht Windows, da es nicht über alle integrierten Befehlszeilen-Tools verfügt, die Programmierer verwenden.

Diese Anleitung ist für Spark Version 2.1.1, die mit Scala Version 2.11.8 erstellt wurde. Wenn Sie eine andere Version von Spark verwenden möchten, müssen Sie eine andere Version von Databricks einsetzen:

sudo mkdir /usr/share/spark

cd /usr/share/spark

sudo wget https://archive.apache.org/dist/spark/spark-2.1.1/spark-2.1.1-bin-hadoop2.7.tgz

sudo tar xvfz spark-2.1.1-bin-hadoop2.7.tgz

cd spark-2.1.1-bin-hadoop2.7/bin

set PATH=$PATH:/usr/share/spark/spark-2.1.1-bin-hadoop2.7

Laden Sie nun die Daten von Kaggle herunter und entpacken Sie diese:

wget https://www.kaggle.com/kaggle/kaggle-survey-2017/downloads/kaggle-survey-2017.zip/4

unzip kaggle-survey-2017.zip

Laden Sie anschließend die Databricks JAR-Datei herunter:

wget http://central.maven.org/maven2/com/databricks/spark-csv_2.11/1.5.0/spark-csv_2.11-1.5.0.jar

Als nächstes muss man die Spark Scala-Shell ausführen. Doch zuerst laden Sie den Databricks CSV-Dateiparser. Kopieren Sie die Databricks JAR-Datei und die Kaggle-Daten in das gleiche Verzeichnis, so dass Sie beim Ausführen des Befehls spark-shell unten keine Pfaddirektiven angeben müssen, um ihm mitzuteilen, wo er nach einer der beiden suchen soll.

spark-shell --packages com.databricks:spark-csv_2.11:1.5.0

Kopieren Sie den folgenden Code und fügen Sie ihn direkt in die Spark-Befehlszeile ein. Die Textdatei multipleChoiceResponses.csv wird mit nur drei Zeilen Code in den Datenrahmen eingelesen:

import org.apache.spark.sql.SQLContext

val sqlContext = new SQLContext(sc)

val df = sqlContext.read.format("com.databricks.spark.csv").option("header", "true").option("inferSchema", "true").load("multipleChoiceResponses.csv")

Nun, da wir dieses Data-Science-Experiment eingerichtet haben, können Sie Abfragen mit select(), show() und anderen Befehlen ausführen. Unten sehen wir über die Datenrahmenfunktion mean(), dass das durchschnittliche Gehalt für Leute, die als Data Scientist arbeiten, 70.787 Dollar beträgt.

Ein Programmierer kann das durchschnittliche Gehalt eines Data Scientists abfragen und anzeigen.
Abbildung 1: Ein Programmierer kann das durchschnittliche Gehalt eines Data Scientists abfragen und anzeigen.

Sie können auch das Studium der Umfrageteilnehmer anzeigen. Fügen Sie einen ganzzahligen Wert, wie 3.000, zu show() hinzu – andernfalls werden nur die ersten 20 Ergebnisse angezeigt. Wir verwenden groupBy() und count(), um gemeinsame Werte zu sammeln und zu zählen, wodurch man sehen kann, dass 2.200 Data Scientists Mathematik studiert haben. Es zeigt sich, dass viele Programmierer mit Machine Learning kämpfen, denn es hilft, Kenntnisse über multivariable Berechnungen, lineare Algebra und Statistiken zu haben.

Den Studienbereiche der Data Scientist anzeigen lassen.
Abbildung 2: Den Studienbereiche der Data Scientist anzeigen lassen.

Sie können auch sortieren, welche Programmiersprache Sie zuerst lernen sollten. Python ist die beliebteste Sprache. Spark ist in Scala geschrieben, einer weiteren hilfreichen Sprache. Auch wenn Scala komplizierter ist als Python, schreiben viele Programmierer in Scala, da es eine funktionale Sprache ist – was bedeutet, dass sie mathematischen Gleichungen ähnelt.

Viele Programmierer schlagen R vor, aber würden die Sprache gerne vermeiden. Die R-Programmiersprache richtet sich vor allem an Statistiker – nicht unbedingt große Data Scientists –, was bedeutet, dass sie in rein wissenschaftlichen Bereichen, wie der pharmazeutischen Forschung, mehr verwendet wird als in Geschäftsanwendungen.

Data Scientists bevorzugen diese Programmiersprachen.
Abbildung 3: Data Scientists bevorzugen diese Programmiersprachen.

Nun werden wir dieses Data-Scientists-Experiment verwenden, um die Bedeutung von Zertifikaten zu ermitteln. Wie Sie sehen können, haben die meisten Programmierer nicht darauf geantwortet. Wie bei anderen Technologien sind Zertifizierungen selten so wertvoll wie nachgewiesene Fähigkeiten, zum Beispiel in Form von GitHub-Projekten und Berufserfahrung.

Für viele Teilnehmer sind Zertifikate nicht so bedeutend.
Abbildung 4: Für viele Teilnehmer sind Zertifikate nicht so bedeutend.

Schließlich fragen wir danach, wie viele Frauen im Bereich Data Science tätig sind.

Die geschlechtsspezifische Aufschlüsselung im Bereich Data Science.
Abbildung 5: Die geschlechtsspezifische Aufschlüsselung im Bereich Data Science.

Jetzt, da Sie die Werkzeuge haben, können Sie verschiedene Abfragen ausführen, um Felder zu ändern, verschiedene Fragen zu stellen und Ergebnisse aus dem Schema zu erhalten.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Databricks und Microsoft ermöglichen Spark as a Service.

Apache Spark eröffnet neue Möglichkeiten für die Genomforschung.

Apache Spark: Anbieter-Support versus eigene Updates und Bereitstellung.

Erfahren Sie mehr über Datenanalyse

ComputerWeekly.de
Close