Datum Anmerkungen des Wissenschaftlers: Wo soll ich anfangen und wird es benötigt?



TL; DR ist ein Beitrag für Fragen / Antworten zu Data Science und zum Einstieg und zur Entwicklung in den Beruf. In dem Artikel werde ich die Grundprinzipien und FAQ analysieren und bin bereit, Ihre spezifischen Fragen zu beantworten - schreiben Sie in die Kommentare (oder in eine persönliche), ich werde versuchen, alles innerhalb weniger Tage zu beantworten.
Mit dem Aufkommen des Notizzyklus "Datum des Satanisten" kamen viele Nachrichten und Kommentare mit Fragen darüber, wie man anfängt und wo man gräbt, und heute werden wir die grundlegenden Fähigkeiten und Fragen analysieren, die sich nach den Veröffentlichungen ergeben haben.



Alles, was hier erwähnt wird, beansprucht keine endgültige Wahrheit und ist die subjektive Meinung des Autors. Wir werden die wichtigsten Dinge durchgehen, die in diesem Prozess am wichtigsten zu sein scheinen.



Warum genau wird das benötigt?



Damit das Ziel besser erreichbar ist, damit es zumindest irgendwie konkret aussieht - Sie möchten DS oder Research Scientist bei Facebook / Apple / Amazon / Netflix / Google werden - sehen Sie die Anforderungen, Sprachen und notwendigen Fähigkeiten direkt für welche Position. Was ist der Einstellungsprozess? Wie geht man in dieser Rolle an einem typischen Tag um? Wie sieht das durchschnittliche Profil der Person aus, die dort arbeitet?



Oft ist das Gesamtbild, dass eine Person nicht wirklich versteht, was genau sie will, und es nicht ganz klar ist, wie sie sich auf dieses vage Bild vorbereiten soll - daher lohnt es sich, zumindest einen groben Plan zu haben, was genau Sie wollen.

Grenzen Sie Ihre aktuelle Zielansicht ein
Selbst wenn es sich auf dem Weg ändert und es im Allgemeinen normal ist, Pläne während des Spiels zu ändern, sollten Sie ein Ziel vor sich haben und sich darauf konzentrieren, es regelmäßig bewerten und überdenken.



Will oder ist es noch relevant



Mit der Zeit wachsen Sie zu einer Position.



Stellen Sie sich vor, Sie müssen vor Ihrer Position promovieren, 2-3 Jahre in der Branche arbeiten und sich im Allgemeinen die Haare schneiden lassen, während Sie in einem Kloster meditieren. Wird es bei Data Science dieselbe Situation geben wie früher bei Ökonomen und Anwälten? Wird sich nicht alles bis zur Unkenntlichkeit in dem Bereich ändern, den Sie tun möchten?



Gibt es eine gute Chance, dass jetzt alle dorthin eilen und wir ein Bild sehen, wenn es eine große Anzahl von Menschen gibt, die versuchen, in den Beruf einzusteigen - und es wird für den Anfang nur spärliche Positionen geben.



Es kann sich lohnen, bei der Auswahl eines Weges aktuelle Trends zu berücksichtigen, nicht nur den aktuellen Stand des Arbeitsmarktes, sondern auch Ihre Vorstellung davon, wie sich dieser verändert und wo er sich befindet.



Zum Beispiel hatte der Autor nicht vor, zum Datum der Satanisten zu gehen, aber während der Promotion sah er Nebenprojekte, die in Bezug auf ihre Fähigkeiten stark mit DS in Resonanz standen, und zog nach Abschluss der Graduiertenschule natürlich auf Mittwoch, um eine gute Position zu sehen.



Wenn sich im Laufe des Stücks herausstellt, dass es notwendig sein wird, woanders hinzugehen - denn jetzt gibt es genau die Bewegung und die interessanteste Aktion findet statt, na ja, dann werden wir natürlich dorthin gehen.



Aufschlüsselung der Fähigkeiten



Dies sind bedingte Kategorien von Fähigkeiten, die meiner Meinung nach der Schlüssel zu einer vollständigen und effektiven Arbeit in DS sind. Separat werde ich Englisch hervorheben - lernen Sie, was Sie in CS tun. Als nächstes folgen die Schlüsselkategorien.



Programmierung / Scripting



Welche Sprachen sollten Sie unbedingt kennenlernen? Python? Java? Shell-Scripting? Lua? SQL? C ++?



Was genau Sie tun müssen und warum in Bezug auf die Programmierung - hier ist der Positionsbereich sehr unterschiedlich.



Zum Beispiel muss ich oft komplexe Logik, Abfragen, Modelle, Analysen implementieren und allgemein interpretierte Systeme entwickeln, aber es gibt fast nie Anforderungen an die Geschwindigkeit des Codes, außer den allgemeinsten und vernünftigsten.



Daher unterscheiden sich meine Fähigkeiten stark von denen, die die Tensorflow-Bibliothek schreiben und darüber nachdenken, den Code für eine effiziente Nutzung des l1-Caches und dergleichen zu optimieren. Sehen Sie also genau, was Sie benötigen, und bewerten Sie den richtigen Weg zum Lernen.



Zum Beispiel erstellen die Leute für Python bereits eine Sprachlernkarte.



Für Ihre Bedürfnisse gibt es sicherlich bereits erfahrene Ratschläge und gute Quellen - Sie müssen sich für eine Liste entscheiden und mit der Arbeit beginnen.



Geschäftsprozesse verstehen



Ohne sie nirgendwo: Sie müssen verstehen, warum Sie in diesem Prozess gebraucht werden, was Sie tun und warum. Oft können Sie so viel Zeit sparen, Ihre Vorteile maximieren und keine Zeit und Ressourcen mit Bullshit verschwenden.



Normalerweise stelle ich folgende Fragen:



  • Was genau mache ich in der Firma?
  • Wozu?
  • Wer wird es verwenden und wie?
  • Welche Möglichkeiten habe ich?
  • Was sind die Grenzen der Parameter?


Hier ein wenig mehr Details zu den Parametern: Sie können das Arbeitsszenario oft stark ändern, wenn Sie wissen, dass etwas geopfert werden kann: Zum Beispiel Interpretierbarkeit oder umgekehrt, ein paar Prozent spielen hier keine Rolle, und wir haben eine sehr schnelle Lösung, und der Kunde braucht sie, weil er zahlt sich für die Zeit aus, in der die Pipeline unter AWS ausgeführt wird.



Mathe



Hier denkst du und verstehst selbst alles - ohne Kenntnisse der Grundmathematik bist du nichts weiter als ein kleiner Affe mit einer Granate (vergib den Zufallswald) - also musst du zumindest grundlegende Dinge verstehen. Wenn ich die minimalste Liste erstellen würde, würde sie Folgendes umfassen:



  • Lineare Algebra - eine große Menge an Ressourcen ist einfach zu googeln. Suchen Sie nach den Ressourcen, die am besten zu Ihnen passen.
  • Mathematische Analyse - (zumindest im Umfang der ersten beiden Semester);
  • Die Wahrscheinlichkeitstheorie ist im maschinellen Lernen allgegenwärtig.
  • Kombinatorik - sie ist tatsächlich komplementär zum Theorver;
  • Graphentheorie - zumindest BASIC;
  • Algorithmen - mindestens das Volumen der ersten beiden Semester (siehe Cormens Empfehlungen in seinem Buch);
  • Matlogik - zumindest grundlegend.


Praktische Datenanalyse und Visualisierung



Eines der wichtigsten Dinge ist es, keine Angst davor zu haben, sich die Hände schmutzig zu machen und eine umfassende Analyse des Datensatzes, des Projekts und eine schnelle Visualisierung der Daten durchzuführen.



Die explorative Datenanalyse sollte wie alle anderen Datentransformationen und die Möglichkeit, eine einfache Pipeline aus Unix-Tuzles zu werfen (siehe vorherige Artikel) oder einen lesbaren und verständlichen Laptop zu schreiben, nur etwas Natürliches werden.



Ich werde die Visualisierung separat erwähnen: Es ist besser, einmal zu sehen als hundertmal zu hören.



Das Anzeigen eines Diagramms für den Manager ist hundertmal einfacher und verständlicher als eine Reihe von Zahlen. Daher sind matplotlib, seaborn und ggplot2 Ihre Freunde.



Soft Skills



Ebenso wichtig ist es, Ihre Ideen sowie Ergebnisse und Bedenken (usw.) an andere weitergeben zu können. Stellen Sie sicher, dass Sie die Aufgabe sowohl in technischer als auch in geschäftlicher Hinsicht klar darlegen können.



Sie können Kollegen, Managern, Vorgesetzten, Kunden und allen erklären, was benötigt wird, was passiert, mit welchen Daten Sie arbeiten und welche Ergebnisse Sie erzielen.



Ihre Diagramme und Dokumentationen sollten ohne Sie lesbar sein. Das heißt, Sie müssen nicht zu Ihnen gehen, um zu verstehen, was dort geschrieben steht.



Sie können eine übersichtliche Präsentation erstellen, um die Botschaft zu vermitteln und / oder Ihr Projekt / Ihre Arbeit zu dokumentieren.



Sie können Ihre Position auf begründete und emotionslose Weise vermitteln, Ja / Nein sagen oder die Entscheidung hinterfragen / unterstützen.



Ausbildung



Es gibt viele verschiedene Orte, an denen Sie all dies lernen können. Ich werde eine kurze Liste geben - ich habe alles versucht und um ehrlich zu sein, hat jeder Artikel seine Vor- und Nachteile. Versuchen Sie zu entscheiden, was für Sie funktioniert, aber ich empfehle dringend, mehrere Optionen auszuprobieren und sich nicht auf eine zu beschränken.



  • Online-Kurse: coursera, udacity, Edx usw.;
  • Neue Schulen: online und offline - SkillFactory, SHAD, MADE;
  • Klassische Schulen: Universitäts-Masterstudiengänge und Auffrischungskurse;
  • Projekte - Sie können einfach Aufgaben auswählen, die für Sie von Interesse sind, und sie schneiden, indem Sie sie auf github hochladen.
  • Praktika - es ist schwierig, hier etwas vorzuschlagen, man muss nach dem suchen, was verfügbar ist, und geeignete Optionen finden.


Ist es nötig?



Abschließend möchte ich vielleicht drei persönliche Prinzipien hinzufügen, denen ich mich selbst zu folgen versuche.



  • Sollte interessant sein;
  • Inneres Vergnügen bringen (= zumindest kein Leiden verursachen);
  • « ».


Warum genau sind sie? Es ist schwer vorstellbar, dass Sie von Tag zu Tag etwas tun und es nicht mögen oder nicht interessiert sein werden. Stellen Sie sich vor, Sie sind Arzt und hassen es, mit Menschen zu kommunizieren - natürlich kann dies irgendwie funktionieren, aber Sie werden sich ständig unwohl fühlen mit dem Strom von Patienten, die Sie etwas fragen möchten. Dies funktioniert auf lange Sicht nicht.



Warum habe ich sogar inneres Vergnügen ausdrücklich erwähnt? Dies scheint mir für die Weiterentwicklung und grundsätzlich für den Lernprozess notwendig zu sein. Es macht mir wirklich Spaß, wenn ich es schaffe, ein komplexes Feature zu vervollständigen und ein Modell zu erstellen oder einen wichtigen Parameter zu berechnen. Ich genieße es, wenn mein Code ästhetisch ansprechend und gut geschrieben ist. Daher ist es interessant, etwas Neues zu lernen, und es erfordert keine direkte Motivation direkt.



"Dein sein" ist genau das Gefühl, dass du das tun wolltest. Ich habe eine kleine Geschichte. Seit meiner Kindheit mochte ich Rockmusik (und Metal - SALMON!) Und wie viele Leute wollten lernen, wie man spielt, und das ist alles. Es stellte sich heraus, dass ich kein Gehör und keine Stimme hatte - das hat mich überhaupt nicht gestört (und ich muss sagen, das stört nicht viele Künstler direkt auf der Bühne), und als Schüler bekam ich eine Gitarre ... und es wurde klar, dass ich stundenlang nicht wirklich gerne saß und spiele es. Es wurde schwer, die ganze Zeit schien es mir, als würde eine Art Müll herauskommen - ich hatte überhaupt keine Freude daran und fühlte mich nur mies, dumm und völlig unfähig. Ich zwang mich buchstäblich, mich für den Unterricht unter dem Stock hinzusetzen, und im Allgemeinen war es nicht im Futter des Pferdes.



Gleichzeitig konnte ich stundenlang ruhig sitzen und eine Art Spielzeug entwickeln, etwas auf einem Blitz (oder etwas anderem) mithilfe eines Skripts animieren, und ich war wild motiviert, Elemente im Spiel zu beenden oder mich mit der Mechanik der Bewegung und / oder zu beschäftigen oder Verbinden von Bibliotheken, Plugins und allem anderen von Drittanbietern.



Und irgendwann wurde mir klar, dass das Gitarrenspielen nicht meins ist, und ich höre wirklich gerne zu und spiele nicht. Und meine Augen brannten, als ich Spiele und Code schrieb (in diesem Moment hörte ich alle Arten von Metal), und das gefiel mir damals, und ich hätte das tun sollen.



Haben Sie noch Fragen?



Natürlich konnten wir nicht alle Themen und Fragen durchgehen, also schreiben Sie Ihre Kommentare und persönlich - ich bin immer froh, Fragen zu haben.










All Articles