Einführung in Data Science - Grundprinzipien der Datenanalyse mit Python

Einführung in Data Science - Grundprinzipien der Datenanalyse mit Python

 

 

 

von: Joel Grus

O'Reilly Verlag, 2016

ISBN: 9783960100256

Sprache: Deutsch

348 Seiten, Download: 23377 KB

 
Format:  EPUB, PDF, auch als Online-Lesen

geeignet für: geeignet für alle DRM-fähigen eReader geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Apple iPod touch, iPhone und Android Smartphones Online-Lesen PC, MAC, Laptop
Typ: A (einfacher Zugriff)

 

eBook anfordern

Mehr zum Inhalt

Einführung in Data Science - Grundprinzipien der Datenanalyse mit Python



KAPITEL 1


Einführung

»Daten! Daten! Daten!«, schrie er ungeduldig.

»Ohne Lehm kann ich keine Ziegel herstellen.«

Arthur Conan Doyle

Der Aufstieg der Daten


Wir leben in einer Welt, die in Daten ertrinkt. Webseiten erfassen jeden Klick jedes Benutzers. Ihr Smartphone speichert Ihren Aufenthaltsort und Ihr Tempo jede einzelne Sekunde des Tages. »Quantified Selfer« tragen aufgemotzte Schrittmesser, die Herzfrequenz, Bewegungsgewohnheiten, Ernährung und Schlafzyklen registrieren. Intelligente Autos sammeln Informationen über Fahrgewohnheiten, intelligente Häuser sammeln Informationen über Lebensgewohnheiten, und intelligente Marketingleute sammeln Konsumgewohnheiten. Das Internet selbst stellt ein gewaltiges Netzwerk des Wissens dar, das (unter anderem) eine enorme Enzyklopädie mit Querverweisen darstellt – domänenspezifische Datenbanken über Filme, Musik, Sportergebnisse, Flippergeräte, Memes und Cocktails, außerdem viel zu viele Behördenstatistiken (einige davon sind sogar wahr!) von viel zu vielen Regierungen, bis Ihnen schwindelig wird.

Vergraben in diesen Daten, sind die Antworten auf unzählige Fragen, die niemand zuvor zu fragen wagte. In diesem Buch werden Sie lernen, wie man sie findet.

Was ist Data Science?


Ein Witz sagt, dass ein Data Scientist jemand ist, der mehr über Statistik weiß als ein Informatiker und mehr über Informatik als ein Statistiker. (Ich habe nicht gesagt, dass es ein guter Witz ist.) Tatsächlich sind einige Data Scientists – für alle praktischen Belange – Statistiker, während andere kaum von Softwareentwicklern zu unterscheiden sind. Einige sind Experten für maschinelles Lernen, während andere nicht einmal den Weg zum Kühlschrank maschinell lernen könnten. Einige haben Doktortitel und eindrucksvolle Publikationslisten, während andere nie einen akademischen Fachartikel gelesen haben (trotzdem Schande über diese). Kurz, egal wie Sie Data Science definieren, Sie werden Praktiker finden, auf die diese Definition überhaupt nicht passt.

Das soll uns aber nicht davon abhalten, es zu versuchen. Wir sagen einfach, dass ein Data Scientist jemand ist, der Erkenntnisse aus chaotischen Daten gewinnt. Die heutige Welt ist voll von Menschen, die Daten in Erkenntnis umwandeln möchten.

Das Datingportal OkCupid beispielsweise bittet seine Mitglieder, Tausende von Fragen zu beantworten, um die passendsten Partner für sie zu finden. Aber es wertet diese Ergebnisse auch aus, um unschuldig klingende Fragen zu entwickeln, mit denen sie herausbekommen können, wie wahrscheinlich es ist, dass jemand beim ersten Date mit Ihnen ins Bett geht (http://bit.ly/1EQU0hI).

Facebook fragt Sie nach Ihrer Heimatstadt und Ihrem gegenwärtigen Aufenthaltsort – vorgeblich, um es Ihren Freunden zu erleichtern, Sie zu finden und sich zu befreunden. Aber Facebook analysiert die Orte auch, um in der globalen Migration (http://on.fb.me/1EQTq3A) und der Wohnorte von Fußballfans (http://on.fb.me/1EQTvnO) Muster zu erkennen.

Target, ein großes Unternehmen im Einzelhandel, verfolgt Ihre Einkäufe und Interaktionen sowohl online als auch im Geschäft. Sie verwenden diese Daten zur Feststellung (http://nyti.ms/1EQTznL), welche ihrer Kundinnen schwanger sind, um ihnen besser Babyprodukte präsentieren zu können.

An der Wahlkampagne von Obama nahmen 2012 Dutzende von Data Scientists teil, die Daten durchwühlten und damit experimentierten, um Wähler mit besonderem Zuwendungsbedarf zu identifizieren, optimale auf Spender zugeschnittene Spendenaufrufe zu starten und Aufrufe zur Wahlbeteiligung auf die vielversprechendsten Gegenden zu fokussieren. Es herrscht allgemeine Einigkeit darüber, dass diese Bemühungen eine wichtige Rolle bei der Wiederwahl des Präsidenten gespielt haben. Damit gilt es als ziemlich sicher, dass zukünftige politische Kampagnen mehr und mehr von Daten getrieben sein werden und es zu einem endlosen Wettrüsten von Data Science und Datensammlungen kommen wird.

Bevor Sie sich nun völlig abgeschreckt fühlen: Einige Data Scientists setzen ihre Fähigkeiten gelegentlich ein, um Gutes zu tun – etwas um die öffentliche Verwaltung durch Daten effektiver zu machen (http://bit.ly/1EQTGiW), Obdachlosen zu helfen (http://bit.ly/1EQTIYl) und die Gesundheitsversorgung zu verbessern (http://bit.ly/1EQTPTv). Es wird Ihrer Karriere allerdings gewiss nicht schaden, wenn Sie mit Vergnügen die beste Möglichkeit austüfteln, Leute zum Anklicken von Werbebannern zu bewegen.

Ein motivierendes Szenario: DataSciencester


Herzlichen Glückwunsch! Sie wurden soeben als Leiter der Abteilung für Data Science bei DataSciencester angeheuert, dem sozialen Netzwerk für Data Scientists.

Obwohl für Data Scientists geschaffen, hat DataSciencester bisher keine Mühen in die eigenen Data Science-Praktiken investiert. (Fairerweise muss gesagt werden, dass DataSciencester als Produkt nicht real existiert.) Dies wird Ihre Aufgabe sein! Im Verlauf dieses Buchs werden Sie Data Science-Methoden dadurch kennenlernen, dass Sie die Aufgaben an Ihrem neuen Arbeitsplatz bewältigen. Bisweilen werden wir uns direkt von Nutzern eingegebene Daten anschauen, bisweilen durch Interaktionen von Nutzern mit der Webseite generierte Daten und einige Male sogar Daten aus von uns entworfenen Experimenten.

Weil DataSciencester großen Wert auf die »Marke Eigenbau« legt, werden wir unsere Werkzeuge von Grund auf neu entwickeln. Am Ende werden Sie ein sehr solides Verständnis von den Data Science-Grundlagen bekommen haben. Sie werden bereit sein, Ihre Fähigkeiten in einer Firma mit einer weniger heiklen Leitlinie einzusetzen oder auf eine für Sie interessante Fragestellung anzuwenden.

Willkommen an Bord und viel Glück! (Freitags dürfen Sie hier Jeans tragen, und die Toiletten sind am Ende des Korridors auf der rechten Seite.)

Finden von Schlüsselpersonen

Es ist Ihr erster Arbeitstag bei DataSciencester, und der Vizepräsident für Netzwerkarbeit steckt voller Fragen über Ihre Nutzer. Bisher hatte er niemanden, den er fragen konnte, und daher ist er begeistert, Sie dabeizuhaben.

Insbesondere möchte er herausbekommen, welche die »Schlüsselpersonen« unter den Data Scientists sind. Dazu stellt er Ihnen eine vollständige Kopie des Netzwerks von DataSciencester zur Verfügung. (Im wirklichen Leben übergibt man Ihnen die benötigten Daten eher selten. Kapitel 9 beschäftigt sich mit dem Beschaffen von Daten.)

Wie sieht diese Kopie der Netzwerkdaten aus? Sie besteht aus einer Liste von Nutzern, in der für jeden einzelnen Nutzer ein dict mit einer id (eine Zahl) und einem Namen (name) angelegt ist. Aufgrund eines großen kosmischen Zufalls reimen sich die Namen mit der englisch ausgesprochenen id des Nutzers:

users = [
    { "id": 0, "name": "Hero" },
    { "id": 1, "name": "Dunn" },
    { "id": 2, "name": "Sue" },
    { "id": 3, "name": "Chi" },
    { "id": 4, "name": "Thor" },
    { "id": 5, "name": "Clive" },
    { "id": 6, "name": "Hicks" },
    { "id": 7, "name": "Devin" },
    { "id": 8, "name": "Kate" },
    { "id": 9, "name": "Klein" }
]

Der Vizepräsident gibt Ihnen auch noch Daten über »Freundschaften« als eine Liste von id-Paaren:

friendships = [(0, 1), (0, 2), (1, 2), (1, 3), (2, 3), (3, 4),
               (4, 5), (5, 6), (5, 7), (6, 8), (7, 8), (8, 9)]

Zum Beispiel zeigt das Tupel (0, 1) an, dass der Data Scientist mit der id 0 (Hero) und der Data Scientist mit der id 1 (Dunn) befreundet sind. Das komplette Netzwerk ist in Abbildung 1-1 dargestellt.

Abbildung 1-1: Das DataSciencester-Netzwerk

Weil wir unsere Nutzer als dict abgelegt haben, können wir sie leicht durch zusätzliche Datenfelder erweitern.

Machen Sie sich bitte zunächst nicht zu viele Gedanken über die Details des Programmcodes. In Kapitel 2 werden Sie einen Crashkurs in Python absolvieren. Versuchen Sie erst einmal, einen Eindruck davon zu bekommen, was wir tun.

Wir könnten beispielsweise zu jedem Nutzer eine Liste von Freunden hinzufügen. Zuerst setzen wir die Eigenschaft friends jedes Nutzers auf eine leere Liste:

for user in users:
    user["friends"] = []

Anschließend könnten wir diese Listen mit den Daten aus friendships befüllen:

for i, j in friendships:
    # das funktioniert, weil users[i] der Nutzer mit i als id ist
    users[i]["friends"].append(users[j]) # add i als Freund von j ergänzen
    users[j]["friends"].append(users[i]) # add j als Freund von i...

Kategorien

Service

Info/Kontakt

  Info
Hier gelangen Sie wieder zum Online-Auftritt Ihrer Bibliothek