Data Science "Spezialeinheiten" im eigenen Haus

Die Praxis zeigt, dass viele Unternehmen Schwierigkeiten haben, analytische Projekte umzusetzen.


Die Sache ist, dass im Gegensatz zu klassischen Projekten für die Lieferung von Eisen oder die Einführung von Anbieterlösungen, die in ein lineares Ausführungsmodell passen, Aufgaben im Zusammenhang mit Advanced Analytics (Data Science) sehr schwer in Form einer klaren und eindeutigen technischen Spezifikation in der Form zu formalisieren sind, die ausreicht, um sie zu vermitteln Darsteller. Die Situation wird durch die Tatsache verschärft, dass die Implementierung der Aufgabe die Integration einer Vielzahl verschiedener interner IT-Systeme und Datenquellen erfordert. Einige Fragen und Antworten erscheinen möglicherweise erst, nachdem die Arbeit mit Daten begonnen hat und ein realer Sachverhalt aufgedeckt wird, der sich stark vom dokumentarischen Bild der Welt unterscheidet. Dies alles bedeutet, dass zum Schreiben einer kompetenten TK ein vorläufiger Teil der Arbeit durchgeführt werden muss, der mit der Hälfte des Projekts vergleichbar ist und der Untersuchung und Formalisierung der tatsächlichen Bedürfnisse, der Analyse der Datenquellen, ihrer Beziehungen, Struktur und Lücken gewidmet ist. Im Rahmen von Organisationen gibt es praktisch keine Mitarbeiter, die in der Lage sind, eine derart umfangreiche Arbeit zu starten. Es stellt sich also heraus, dass für Wettbewerbe völlig grobe Anforderungen gestellt werden. Im besten Fall werden Wettbewerbe nach einer Reihe klärender Fragen abgesagt (zur Überarbeitung gesendet). Im schlimmsten Fall - für ein riesiges Budget und für lange Zeiträume - erhalten Sie etwas völlig anderes als die Pläne der Antragsteller. Und sie bleiben bei nichts.


Eine sinnvolle Alternative besteht darin, ein Data Science (DS) -Team innerhalb des Unternehmens einzurichten. Wenn Sie nicht auf den Bau der ägyptischen Pyramiden abzielen, können ein Team und 2-3 kompetente Spezialisten sehr, sehr viel tun. Hier stellt sich jedoch eine andere Frage, wie diese Spezialisten vorbereitet werden können. Im Folgenden möchte ich eine Reihe erfolgreich getesteter Überlegungen zur schnellen Vorbereitung solcher "Spezialeinheiten" mit R als Waffe teilen.


Es ist eine Fortsetzung früherer Veröffentlichungen .


Problem


Derzeit ist die Suche auf dem Markt nach kompetenten Fachkräften ein großes Problem. Daher ist es sehr nützlich, eine Lernstrategie in Betracht zu ziehen, die einfach lesen und schreiben kann und angemessen ist. Gleichzeitig werden die Besonderheiten der erforderlichen Schulung beachtet:


  • Es gibt monatelang keine Gelegenheit zu lernen. Das Ergebnis muss so schnell wie möglich erzielt werden.
  • Es ist notwendig, den Schwerpunkt auf die eigentlichen Aufgaben des Unternehmens zu legen.
  • In der industriellen DS sind mit der Datenverarbeitung viel mehr Aufgaben verbunden als mit AI \ ML.
  • Industrial DS ist kein Kunsthaus, sondern eine strukturierte Aktivität, die sich in stabilem Anwendungscode niederschlägt.

Bei aller Bemerkenswertheit von Coursera, Datacamp, verschiedenen Büchern sowie ML-Programmen erlaubte keiner der Kurse nicht, die erforderlichen Merkmale zu erhalten. Sie dienen als hervorragende Quellen für die Verbesserung der Fähigkeiten, sind jedoch schwer schnell zu erlernen. Die Hauptaufgabe bei einem schnellen Start besteht darin, Wege, Sümpfe und Fallen anzuzeigen. sich mit den vorhandenen Werkzeugen vertraut zu machen; zeigen, wie die Aufgaben des Unternehmens mit dem Tool gelöst werden können; von einem Boot in den See werfen und schwimmen lassen.


Es ist wichtig zu zeigen, dass R nicht nur ein Instrument ist, sondern auch eine geeignete Gemeinschaft. Daher ist die Verwendung einer Vielzahl relevanter Entwicklungen, einschließlich Präsentation ist eines der Formate für die Arbeit mit der Community. Hadley kann sogar Fragen in Hochtöner oder Github schreiben. Bei würdigen Fragen erhalten Sie umfassende Antworten.


Als Ergebnis verschiedener Experimente wurde ein struktureller Ansatz „Deep Dive Into R“ für die Lieferung von Grundmaterial erhalten.


Tauchen Sie in R.


  • Die optimale Kursdauer beträgt 50 Stunden (~ 7-9 Tage für 7-6 Stunden).
  • Das Hauptziel des Kurses ist die Bildung praktischer Fähigkeiten für das schnelle Schreiben von qualitativ hochwertigem und effektivem Code unter Verwendung optimaler Algorithmen.
  • Umfassende Demos lassen sich am besten für bestimmte Aufgaben erstellen. Auf diese Weise können Sie sich viel schneller mit Tools und Ansätzen vertraut machen.
  • Eine große Anzahl von berücksichtigten Themen dient dazu, eine Darstellung und "Lesezeichen" über die Fähigkeiten des Ökosystems zu bilden.
  • Die Tagesaufteilung ist kein Dogma, sondern eine geplante Fokuskontrolle.
  • Zur Demonstration und Konsolidierung des Materials werden für jeden Tag praktische Aufgaben unterschiedlicher Komplexität und unterschiedlichen Volumens analysiert.

Jeder Schüler erhält von seiner Leitung vor Beginn eine praktische Aufgabe („Hausarbeit“) in Form einer echten Aufgabe, die er während des Tauchgangs erledigen und am Ende des Kurses schützen muss.


Tag 1


Kurz über R. Syntax und Struktur der Sprache. Die Grundlagen der Verwendung der RStudio-IDE für Analyse und Entwicklung. Grundtypen und Daten. Interaktives Rechnen und Programmcodeausführung. Eine kurze Einführung in R Markdown und R Notebook. Prinzipien der Arbeit mit Bibliotheken. Vorbereitung für die Analyse, Installation der erforderlichen Bibliotheken, Erstellen eines Projekts. Die Prinzipien der Profilerstellung, die Suche nach (extrem langen) Engpässen und deren Beseitigung.


  • Geschichte und Ökologie von R.
  • RStudio Cheatsheets
  • Erste Schritte mit R-Markdown
  • Kriterien für die Qualität von Training / Arbeit: Wir schreiben schnell und kompakt Code mit optimalen Algorithmen
    • Vektorisierung
    • Bewertung der Codeausführungsgeschwindigkeit: system.time , tictoc , benchmark , bench , profvis
    • Bewertung der Systemleistung: benchmarkme
  • Ökosystem R, die Grundlagen der Sprache
  • Werte NA , NULL , NaN .
  • Operatoren = , == , <-
  • Funktionen is.na() , is.null() , is.nan() , ( is.finite() , is.infinite() )
  • Subsetting & Slicing

Tag 2


Das Konzept und das Ökosystem der 'tidyverse'-Pakete ( https://www.tidyverse.org/ ). Ein kurzer Überblick über die darin enthaltenen Pakete (Import / Verarbeitung / Visualisierung / Export). Das Konzept der tidy data als Grundlage der Arbeitsmethoden in der tidyverse . 'tibble' als Datendarstellungsformat. (Pakete aus dem Tidyverse-Ökosystem). Transformationen und Datenmanipulationen. Syntax und Prinzipien der Stream-Verarbeitung (Pipe). - - . ( tibble , dplyr , tidyr .)



Tag 3


Bildung grafischer Darstellungen mit ggplot ( https://ggplot2.tidyverse.org/reference/index.html ). Verwenden grafischer Tools zur Analyse von Geschäftsdaten.



Tag 4


Arbeiten Sie mit Zeichenfolgen und Aufzählungstypen. Die Grundlagen regulärer Ausdrücke. Arbeite mit Daten. (Pakete stringi , stringr , forcats , re2r , lubridate , anytime )



Tag 5


Erweiterter Datenimport. txt, csv, json, odbc, Web-Scrapping (REST-API), xlsx.
(Pakete readr , opexlsx , jsonlite , curl , rvest , httr , readtext , DBI , data.table )


  • Arbeitsverzeichnis. getwd() , setwd() . Bewerbungspaket here
  • Add-In rspivot . rspivot ist ein Shiny-Gadget für RStudio zum Anzeigen von Datenrahmen.
  • datapasta und Add-In- datapasta .
  • Einführung in readr . Gehen Sie die Spaltenspezifikationsfunktionen durch.
  • Arbeit mit Excel:
  • Web-Scrapping auf einer Demo:

Tag 6


Daten exportieren. rds, csv, json, xlsx, docx, pptx, odbc. Die Grundlagen von R Markdown und R Notebook.
(Pakete opexlsx , officer , DBI , jsonlite , readr , data.table , knitr )


Einschließlich


  • Präsentationen mit R officer erstellen.
  • Export per PDF über Strick -> LaTeX
  • Direkter Export nach Word

Tag 7


Grundlagen der Programmierung in R. Funktionen erstellen. Der Umfang der Variablen. Objekte anzeigen. Objekte anzeigen, deren Struktur. Die Funktionsprinzipien "durch Links".


  • Funktionskonzept. Erstellen Sie Ihre eigenen Funktionen.
  • Umweltkonzept. Erweiterte R. 7-Umgebungen
  • for loop, while loop
  • purrr Tutorial
  • das Konzept der "sicheren" Berechnungen, ihre Verwendung in der Chargenanalyse ( safely )
  • Profvis - Profiling-Tools für schnelleren R-Code
  • Lazy_evaluation-Ansatz, nicht standardmäßige Bewertung, lobstr Paket

Tag 8


Ansätze zur Validierung von Zwischen- und Endergebnissen. Die Prinzipien der Zusammenarbeit und der Bildung von reproduzierbarem Computing. Demonstration glänzender Anwendungen als Zielschnittstelle für Endbenutzer. (Pakete checkmate , reprex , futile.logger , shiny )



Tag 9


Methoden und Ansätze beim Arbeiten mit Daten der "durchschnittlichen" Größe. Paket data.table . Die Hauptfunktionen. Vergleichende experimentelle Analyse.
Übersicht über weitere Fragen, die in 1-8 Tagen gestellt wurden.


Tag 10


Kursschutz


Anforderungen an Windows 10-Mitgliedsjobs



Bücher



Fazit


  1. Die vorgeschlagene Fütterungssequenz ist kein Dogma. Es kann verschiedene Ausnahmeregelungen geben und inkl. Materialien, einschließlich mathematischer Beilagen. Alles wird durch aktuelle Themen und Aufgaben bestimmt, die für den Kurs festgelegt werden, sowie durch eine Liste beliebter Produktionsprobleme. Am beliebtesten sind die Algorithmen für Regression, Clustering, Text Mining und Zeitreihen.
  2. Die Probleme des parallelen Rechnens, der Erstellung glänzender Anwendungen, der Verwendung von ML-Algorithmen und externer Plattformen passen nicht in das Konzept des „schnellen Eintauchens“, sondern können nach Beginn der praktischen Arbeit eine Fortsetzung sein.

PS HR hat normalerweise Schwierigkeiten, die Anforderungen an den Arbeitsplatz zu formulieren.
Hier ist ein mögliches Beispiel für Saatgut. Jedes ergänzt und regelt basierend auf ihren Erwartungen.


Data Science (DS): Big Data und Analytik. Jobanforderungen


  • Bildung:
    • Technisch oder naturwissenschaftlich höher.
    • Zertifikate für Fachkurse (Coursera, DataCamp) sind willkommen.
    • Englisch ist eine Bereicherung (freies Lesen der Fachliteratur, sicheres Verständnis der nicht angepassten mündlichen Sprache, gesprochene Sprache auf der Ebene der technischen Kommunikation).
  • Berufserfahrung:
    • Im Bereich DS - mindestens 1 Jahr.
    • Mindestens 2 Jahre Erfahrung in der Teamentwicklung in agilen Methoden.
    • Erfahrung in der Entwicklung von Benutzeroberflächen (WEB + JS).
    • Erfahrung in der Entwicklung von Dokumentation.
  • Fundierte Kenntnisse der folgenden Technologien (mindestens 30% der Liste):
    • SQL + No-SQL-Backend (mindestens eines von jedem Datenbanktyp).
    • Open-Source-Programmiersprachen für DS-Aufgaben (Python, R oder beide).
    • Plattformen zum Speichern und Verarbeiten von Big Data (Hadoop und seine Derivate, Spark \ Ignite, ClickHouse, Vertica, ELK-Stack ...)
    • HTML + JS + CSS-Grundlagen für die Web-GUI-Entwicklung für Endbenutzer.
    • Kenntnisse in den Grundlagen der mathematischen Statistik und der linearen Algebra.
    • Zeitreihen (einschließlich Vorhersage und Anomaliesuche).
    • Maschinelles Lernen, neuronale Netze.
    • Text Mining und reguläre Ausdrücke.
    • Grundlagen der Verwaltung von Windows + Nix-Systemen.
    • Tools und Algorithmen zur Verarbeitung und Visualisierung von Geoinformationen (ESRI, OpenStreet, Yandex Maps, Google Maps, Broschüre usw.) arbeiten mit Shap- und GPX-Dateien.
    • Datenimport in Data Science Tools und deren Normalisierung (Dateien, ODBC, REST API, Webcrawling).
    • Visualisierung (Tableau, QlikView, Excel, Shiny \ Dash).
    • Kommerzielle mathematische Pakete (Wolfram Mathematica, Maple, Matlab).
  • Amtliche Verpflichtungen:
    • Überprüfung und Aufbereitung von Quelldaten.
    • Die Entwicklung von Hypothesen und deren Überprüfung anhand der Quelldaten.
    • Entwicklung mathematischer Modelle und deren Prüfung.
    • Entwicklung von Software-Design-Lösungen.
    • Entwicklung von WEB-Anwendungen und interaktiven Dashboards.
    • Entwicklung von gedruckten Berichten.
    • Abstimmung, Prüfung, Entwicklung und Wartung der Analyseschaltung.
    • Projektdokumentation aktualisieren.

Vorheriger Beitrag - "Wie schnell ist R für Produktivität?" .

Source: https://habr.com/ru/post/de440700/


All Articles