
In einem
früheren Artikel habe ich über die Struktur eines Data Science-Projekts gesprochen, das auf Materialien der IBM-Methodik basiert: Wie es strukturiert ist, aus welchen Phasen es besteht, welche Aufgaben in jeder Phase gelöst werden. Jetzt möchte ich einen Überblick über die zeitaufwändigste Phase geben, die bis zu 90% der gesamten Projektzeit in Anspruch nehmen kann: Dies sind die Phasen, die mit der Vorbereitung der Daten verbunden sind - Erfassung, Analyse und Reinigung.
In der ursprünglichen Beschreibung der Methodik wird das Data Science-Projekt mit der Zubereitung eines Gerichts und der Analyst mit einem Koch verglichen. Dementsprechend wird die Phase der Datenaufbereitung mit der Vorbereitung der Produkte verglichen: Nachdem wir uns für das Rezept für das zubereitete Gericht in der Phase der Analyse der Geschäftsaufgabe entschieden haben, müssen wir die Zutaten finden, an einem Ort sammeln, reinigen und schneiden. Dementsprechend hängt der Geschmack des Gerichts davon ab, wie gut diese Phase durchgeführt wurde (nehmen wir an, wir haben das Rezept erraten, zumal es viele öffentlich zugängliche Rezepte gibt). Das Arbeiten mit Zutaten, dh das Aufbereiten von Daten, ist immer ein mühsames und verantwortungsbewusstes Geschäft: ein verdorbenes oder ungewaschenes Produkt - und die ganze Arbeit wird verschwendet.
Datenerfassung
Nachdem wir eine Liste der Zutaten erhalten haben, die wir möglicherweise benötigen, suchen wir nach Daten, um das Problem zu lösen, und bilden eine Probe, mit der wir in Zukunft arbeiten werden. Erinnern Sie sich daran, warum wir ein Beispiel benötigen: Erstens verwenden wir es, um eine Vorstellung von der Art der Daten in der Phase der Datenaufbereitung zu bekommen, und zweitens werden wir in den Phasen der Entwicklung und Konfiguration des Modells Test- und Trainingsmuster daraus erstellen.
Natürlich nehmen wir keine Fälle an, in denen Sie unter der Drohung,
von einer harten NDA
erschossen zu werden, etwas über die Daten in einem Großprojekt verstehen müssen und die Daten von einem seriösen Kunden auf einem Flash-Laufwerk oder als Anhang zu einem Brief erhalten. Angenommen, es geht Ihnen gut und Sie haben Zugriff auf Daten. In diesem Stadium ist es notwendig, eine Probe vorzubereiten, die:
- reflektierte alle notwendigen Eigenschaften der Bevölkerung
- Es war bequem zu arbeiten, das heißt nicht zu groß.
Warum sollten Sie sich im Zeitalter von Big Data auf die Datenmenge beschränken? Dies ist in der Soziologie in der Regel die allgemeine Bevölkerung nicht verfügbar: Wenn wir die öffentliche Meinung untersuchen, ist es unmöglich, alle Menschen zu befragen, auch nicht in der Theorie. Oder in der Medizin, wo ein neues Arzneimittel an einer bestimmten Anzahl von experimentellen Kaninchen / Mäusen / Fliegen untersucht wird: Jedes zusätzliche Objekt in der Studiengruppe ist teuer, mühsam und schwierig. Selbst wenn uns die gesamte Bevölkerung tatsächlich zur Verfügung steht, erfordert Big Data eine geeignete Infrastruktur für die Datenverarbeitung, und die Bereitstellung ist an sich teuer (es handelt sich nicht um Fälle, in denen eine vorgefertigte und konfigurierte Infrastruktur zur Verfügung steht). Das heißt, selbst wenn es theoretisch möglich ist, alle Daten zu berechnen, stellt sich normalerweise heraus, dass sie langwierig, teuer und im Allgemeinen warum sind, denn auf all dies können Sie verzichten, wenn Sie eine qualitativ hochwertige, wenn auch kleine Auswahl erstellen, die beispielsweise aus mehreren tausend Datensätzen besteht.
Der Zeit- und Arbeitsaufwand für die Erstellung des Beispiels ermöglicht es Ihnen, mehr Zeit für das Data Mining aufzuwenden: Beispielsweise können Ausreißer oder fehlende Daten wertvolle Informationen enthalten, aber bei Millionen von Datensätzen ist es unmöglich, sie zu finden, und bei mehreren Tausend ist sie vollständig.
Wie wird die Repräsentativität von Daten bewertet?
Um zu verstehen, wie repräsentativ unsere Stichprobe ist, sind gesunder Menschenverstand und Statistiken für uns nützlich. Für kategoriale Daten müssen wir sicherstellen, dass in unserer Stichprobe jedes Attribut, das aus Sicht des Geschäftsproblems wichtig ist, in den gleichen Anteilen wie in der allgemeinen Bevölkerung dargestellt wird. Wenn wir beispielsweise die Daten von Patienten in der Klinik untersuchen und die Frage Menschen jeden Alters betrifft, ist die Stichprobe, die nur Kinder umfasst, für uns nicht geeignet. Bei historischen Daten sollte überprüft werden, ob die Daten ein repräsentatives Zeitintervall abdecken, in dem die untersuchten Merkmale alle möglichen Werte annehmen. Wenn wir beispielsweise Beschwerden an Regierungsbehörden analysieren, sind die Daten für die erste Januarwoche höchstwahrscheinlich nicht für uns geeignet, da der Rückgang der Beschwerden zu diesem Zeitpunkt abnimmt. Für numerische Vorzeichen ist es sinnvoll, die Basisstatistik zu berechnen (zumindest Punktstatistik: Durchschnitt, Median, Variabilität und Vergleich mit ähnlichen Statistiken der Allgemeinbevölkerung, wenn möglich natürlich).
Probleme bei der Datenerfassung
Es kommt oft vor, dass uns Daten fehlen. Beispielsweise hat sich ein Informationssystem geändert und Daten aus dem alten System sind nicht verfügbar oder die Datenstruktur ist anders: Es werden neue Schlüssel verwendet und es ist unmöglich, eine Verbindung zwischen alten und neuen Daten herzustellen. Organisatorische Probleme sind auch nicht ungewöhnlich, wenn Daten von verschiedenen Eigentümern gespeichert werden und nicht jeder so konfiguriert werden kann, dass er Zeit und Ressourcen für das Hochladen für ein Drittanbieterprojekt benötigt.
Was ist in diesem Fall zu tun? Manchmal stellt sich heraus, dass ein Ersatz gefunden wird: Wenn keine frischen Tomaten vorhanden sind, können Dosenkonserven entstehen. Und wenn sich herausstellt, dass die Karotte ganz faul ist, müssen Sie für eine neue Portion auf den Markt gehen. Es ist also durchaus möglich, dass wir zu diesem Zeitpunkt zur vorherigen Phase zurückkehren müssen, in der wir die Geschäftsaufgabe analysiert und uns gefragt haben, ob es möglich ist, die Frage irgendwie neu zu formulieren: Beispielsweise können wir nicht eindeutig feststellen, welche Version der Online-Shop-Seite besser ist verkauft ein Produkt (zum Beispiel gibt es nicht genügend Verkaufsdaten), aber wir können sagen, auf welcher Seite Benutzer mehr Zeit verbringen und welche weniger Fehler (sehr kurze Browsersitzungen von einigen Sekunden Länge).
Explorative Datenanalyse
Angenommen, die Daten werden empfangen und es besteht das Vertrauen, dass sie die allgemeine Bevölkerung widerspiegeln und eine Antwort auf die gestellte Geschäftsaufgabe enthalten. Jetzt müssen sie untersucht werden, um zu verstehen, welche Qualität die Datenprodukte in unseren Händen haben und ob sie für das beabsichtigte Rezept geeignet sind. Angenommen, wir haben bereits einige Beispiele für Datensätze herangezogen und herausgefunden, was der Schlüssel ist und welche Datentypen er enthält: numerisch, binär, kategorisch. Danach können Sie beginnen, jedes Symptom einzeln zu untersuchen. Das Hauptinstrument für die Forschung ist die deskriptive Statistik.
Zentrale Positionsbewertung
In der ersten Phase der Studie wäre es gut zu verstehen, welche Werte für jedes Merkmal typisch sind. Die einfachste Schätzung ist das arithmetische Mittel: ein einfacher und bekannter Indikator. Wenn die Datenstreuung jedoch groß ist, sagt der Durchschnitt nicht viel über typische Werte aus: Zum Beispiel möchten wir die Höhe des Gehalts in einem Krankenhaus verstehen. Addieren Sie dazu das Gehalt aller Mitarbeiter, einschließlich des Direktors, der mehrmals mehr als die Krankenschwester erhält. Das erhaltene arithmetische Mittel ist höher als das Gehalt eines Mitarbeiters (außer des Direktors) und sagt nichts über ein typisches Gehalt aus. Ein solcher Indikator eignet sich nur zur Meldung an das Gesundheitsministerium, das stolz Gehaltserhöhungen meldet. Der erhaltene Wert unterliegt zu stark dem Einfluss von Grenzwerten. Um den Einfluss von Ausreißern (atypische Grenzwerte) zu vermeiden, werden andere Statistiken verwendet: der Median, der als zentraler Wert in den sortierten Werten berechnet wird.
Wenn die Daten binär oder kategorisch sind, sollten Sie herausfinden, welche Werte häufiger und welche weniger häufig sind. Verwenden Sie dazu den Mod: den häufigsten Wert oder die häufigste Kategorie. Dies ist unter anderem nützlich, um die Repräsentativität der Stichprobe zu verstehen: Wir haben beispielsweise die Daten von Patientenakten untersucht und festgestellt, dass ⅔-Karten Frauen gehören. Sie werden sich fragen, ob beim Abtasten ein Fehler aufgetreten ist. Um Kategorienverhältnisse relativ zueinander anzuzeigen, ist eine grafische Darstellung der Daten nützlich, beispielsweise in Form von Balken- oder Kreisdiagrammen.
Bewertung der Datenvariabilität
Nachdem wir die typischen Werte unserer Stichprobe ermittelt haben, können wir atypische Werte - Ausreißer - betrachten. Emissionen können etwas über die Qualität der Daten aussagen: Sie können beispielsweise Anzeichen für Fehler sein: Verwirrung der Dimensionalität, Verlust von Dezimalstellen oder Codierungskurve. Sie sprechen auch darüber, wie stark die Daten variieren, was die Grenzwerte der untersuchten Merkmale sind.
Als nächstes können wir eine allgemeine Einschätzung darüber vornehmen, wie stark die Daten variieren. Die Variabilität (es ist auch Dispersion) zeigt, wie stark sich die Werte des Merkmals unterscheiden. Eine Möglichkeit zur Messung der Variabilität besteht darin, typische Abweichungen von Merkmalen von einem zentralen Wert zu bewerten. Es ist klar, dass die Mittelung dieser Abweichungen nicht viel bringt, da negative Abweichungen die positiven neutralisieren. Die bekanntesten Schätzungen der Variabilität sind Varianz und Standardabweichung unter Berücksichtigung des Absolutwerts der Abweichungen (Varianz ist der Mittelwert der Quadratabweichungen und Standardabweichung ist die Quadratwurzel der Varianz).
Ein anderer Ansatz basiert auf der Berücksichtigung der Verbreitung sortierter Daten (bei großen Datenmengen werden diese Kennzahlen nicht verwendet, da Sie zuerst die Werte sortieren müssen, was an sich teuer ist). Zum Beispiel die Auswertung mit Perzentilen (Sie können auch nur Zentile finden). N-tes Perzentil - Dies sind solche Werte, bei denen mindestens N Prozent der Daten einen solchen Wert oder mehr annehmen. Um Ausreißerempfindlichkeit zu vermeiden, können Werte von jedem Ende entfernt werden. Das allgemein akzeptierte Maß für die Variabilität ist die Differenz zwischen dem 25. und 75. Perzentil - der Interquartilbereich.
Datenverteilungsumfrage
Nachdem wir die Daten anhand verallgemeinerter numerischer Merkmale ausgewertet haben, können wir abschätzen, wie die Datenverteilung insgesamt aussieht. Dies geschieht am bequemsten mit visuellen Modellierungswerkzeugen - Grafiken.
Die am häufigsten verwendeten Diagrammtypen sind ein Boxdiagramm (oder eine Box mit einem Schnurrbart) und Balkendiagramme. Eine Box mit einem Schnurrbart - eine praktische kompakte Darstellung der Auswahl - ermöglicht es Ihnen, mehrere der untersuchten Merkmale auf einem Bild zu sehen und sie daher miteinander zu vergleichen. Andernfalls wird dieser Diagrammtyp als Box-and-Whiskers-Diagramm oder Diagramm, Box-Diagramm bezeichnet. Diese Art von Diagramm zeigt in verständlicher Form den Median (oder gegebenenfalls den Durchschnitt), das untere und obere Quartil, die Minimal- und Maximalwerte der Stichprobe und der Ausreißer. Mehrere dieser Kästchen können nebeneinander gezeichnet werden, um eine Verteilung visuell mit einer anderen zu vergleichen. Sie können sowohl horizontal als auch vertikal platziert werden. Mit Abständen zwischen verschiedenen Teilen der Box können Sie den Dispersionsgrad (Dispersion), die Datenasymmetrie und Ausreißer bestimmen.

Ein nützliches Werkzeug ist auch ein bekanntes Histogramm - die Visualisierung der Frequenztabelle, in der die Frequenzintervalle auf der X-Achse und die Datenmenge auf der Y-Achse aufgezeichnet sind. Ein Balkendiagramm ist auch nützlich für die Untersuchung historischer Daten: Es hilft Ihnen zu verstehen, wie die Aufzeichnungen über die Zeit verteilt waren und Kannst du ihnen vertrauen? Mithilfe des Diagramms können sowohl Stichprobenfehler als auch fehlerhafte Daten identifiziert werden: Bursts an unerwarteten Stellen oder das Vorhandensein zukünftiger Datensätze können Probleme mit dem Datenformat erkennen, z. B. das Mischen von Datumsformaten im Beispielteil.
Korrelation
Nachdem wir uns alle Variablen angesehen haben, müssen wir verstehen, ob es zusätzliche unter ihnen gibt. Dazu wird der Korrelationskoeffizient verwendet - ein metrischer Indikator, der den Grad der Beziehung zwischen numerischen Variablen misst und Werte im Bereich von 1 bis -1 annimmt. Die Korrelationsmatrix ist eine Tabelle, in der Zeilen und Spalten Variablen sind. und Zellenwerte sind Korrelationen zwischen diesen Variablen. Streudiagramm - entlang der x-Achse die Werte einer Variablen, entlang der y-Achse - eine andere.
Datenbereinigung
Nachdem wir die Daten untersucht haben, müssen sie bereinigt und möglicherweise transformiert werden. Zu diesem Zeitpunkt müssen wir eine Antwort auf die Frage erhalten: Wie müssen wir die Daten aufbereiten, um sie so effizient wie möglich zu nutzen? Wir müssen fehlerhafte Daten beseitigen, fehlende Datensätze verarbeiten, Duplikate entfernen und sicherstellen, dass alles richtig formatiert ist. Auch in dieser Phase definieren wir eine Reihe von Funktionen, auf denen das maschinelle Lernen weiter ausgebaut wird. Die Qualität der Ausführung dieser Stufe bestimmt, ob das Signal in den Daten für den Algorithmus für maschinelles Lernen unterscheidbar ist. Wenn wir mit Text arbeiten, sind möglicherweise zusätzliche Schritte erforderlich, um unstrukturierte Daten in eine Reihe von Attributen umzuwandeln, die für die Verwendung im Modell geeignet sind. Die Datenaufbereitung ist die Grundlage, auf der die nächsten Schritte aufbauen werden. Wie beim Kochen kann nur eine verdorbene oder ungeschälte Zutat das ganze Gericht ruinieren. Unachtsamkeit im Umgang mit Daten kann dazu führen, dass das Modell keine guten Ergebnisse zeigt und einige Schritte zurückgehen muss.

Löschen Sie unerwünschte Einträge
Eine der ersten Datenbereinigungsvorgänge besteht darin, unnötige Datensätze zu löschen. Es umfasst zwei Schritte: Löschen doppelter oder fehlerhafter Einträge. Wir haben in der vorherigen Phase fehlerhafte Werte gefunden, als wir Ausreißer und atypische Werte untersucht haben. Wir könnten doppelte Daten erhalten, wenn wir ähnliche Daten aus verschiedenen Quellen erhalten.
Strukturfehlerkorrektur
Es gibt häufige Fälle, in denen dieselben Kategorien unterschiedlich benannt werden können (schlimmer, wenn verschiedene Kategorien denselben Namen haben): In den offenen Daten der Moskauer Regierung werden beispielsweise Baudaten vierteljährlich dargestellt, aber das Gesamtvolumen für das Jahr wird als Jahr und in Jahr unterzeichnet Einige Aufzeichnungen werden als 4. Quartal bezeichnet. In diesem Fall stellen wir die korrekten Kategoriewerte wieder her (falls möglich).
Wenn Sie mit Textdaten arbeiten müssen, müssen Sie mindestens die folgenden Manipulationen durchführen: Leerzeichen entfernen, alle Formatierungen entfernen, Groß- und Kleinschreibung ausrichten, Rechtschreibfehler korrigieren.
Ausreißerentfernung
Bei maschinellen Lernaufgaben sollten die Daten in der Stichprobe keine Ausreißer enthalten und so standardisiert wie möglich sein. Daher müssen Grenzwerte für Einheiten gelöscht werden.
Fehlende Datenverwaltung
Das Arbeiten mit fehlenden Daten ist einer der schwierigsten Schritte beim Bereinigen von Daten. Das Fehlen eines Teils der Daten ist in der Regel ein Problem für die meisten Algorithmen. Sie müssen daher entweder keine Datensätze verwenden, bei denen ein Teil der Daten fehlt, oder versuchen, die fehlenden Datensätze basierend auf Annahmen über die Art der Daten wiederherzustellen. Gleichzeitig verstehen wir, dass das Füllen von Datenlücken (egal wie ausgefeilt wir es tun) keine neuen Informationen hinzufügt, sondern lediglich eine Krücke, mit der Sie den Rest der Informationen effektiver nutzen können. Beide Ansätze sind nicht so feuer, weil wir auf jeden Fall Informationen verlieren. Der Mangel an Daten kann jedoch ein Signal für sich sein. Zum Beispiel untersuchen wir Tankdaten und das Fehlen von Sensordaten kann ein klares Zeichen für einen Verstoß sein.
Wenn wir mit kategorialen Daten arbeiten, können wir mit fehlenden Daten dieses Typs am besten diese als "fehlend" markieren. In diesem Schritt wird tatsächlich eine neue kategoriale Datenklasse hinzugefügt. Ein ähnlicher Weg ist der Umgang mit fehlenden Daten eines numerischen Typs: Sie müssen die fehlenden Daten irgendwie markieren, z. B. die fehlenden Daten durch Null ersetzen. Sie müssen jedoch berücksichtigen, dass Null nicht immer passt. Zum Beispiel sind unsere Daten Zählerablesungen und das Fehlen von Lesungen kann nicht mit echten Nullen in den Datenwerten verwechselt werden.
Tools zur Datenbereinigung
In der Regel handelt es sich bei der Datenbereinigung nicht um ein einmaliges Ereignis. Höchstwahrscheinlich müssen wir der Probe neue Daten hinzufügen, die erneut durch die entwickelten Reinigungsverfahren geleitet werden müssen. Um den Prozess zu optimieren, ist es hilfreich, spezielle Anwendungen zu verwenden (zusätzlich zu Excel 'I, das auch nützlich sein kann), zum Beispiel:
- Talend Data Preparation ist eine kostenlose Desktop-Anwendung mit einer visuellen Oberfläche, die Datenbereinigungsaufgaben vereinfacht und automatisiert: Sie können eine benutzerdefinierte Datenverarbeitungspipeline erstellen. Sie können mit Talend eine Vielzahl von Datenquellen verwenden, einschließlich CSV-Dateien oder Excel-Daten.
- OpenRefine Dieses Tool wurde früher als Google Refine oder Freebase Gridworks bezeichnet. Jetzt ist OpenRefine eine beliebte Desktop-Anwendung zum Bereinigen und Konvertieren von Datenformaten.
- Trifacta Wrangler - eine Desktop-Anwendung, mit der Sie mit komplexen Datentypen arbeiten können, ist auch für die explorative Datenanalyse nützlich. Es ist keine spezielle Benutzerschulung erforderlich.
Natürlich kann die Datenbereinigungspipeline in jeder geeigneten Programmiersprache implementiert werden - von Python bis Scala ist die Hauptsache, dass die Verarbeitung eine akzeptable Zeit in Anspruch nimmt.
Und endlich...
Nachdem wir die Daten bereinigt und transformiert haben, stellt sich möglicherweise heraus, dass die Daten nicht ausreichen. Daher ist es normal, dass Sie zum Schritt des Abrufs von Daten aus dieser Phase zurückkehren, der Auswahl weitere Werte hinzufügen oder nach neuen Datenquellen suchen müssen. Es ist in Ordnung.
Fazit
, - , , , , : , , .
, .
PS: , , , !