DaMu-Analytics
SQL Stock Photo

SQL Hacks angrenzende Daten gruppieren

Jeder kennt die einfach anwendbare Funktion GROUP BY oder die Anweisung DISTINCT hinter dem SELECT einer SQL Query. Allerdings was macht man, wenn man nicht alle Daten auf eine oder mehrere Kategorien gruppieren möchte, sondern dies nur für die angrenzenden Daten gleichen Typs machen möchte? Das möchte ich in diesem Beitrag etwas näher erklären.

 

Dieser Beitrag ist aus einem aktuellen Projekt von mir entstanden. Dabei war die Kundenanforderung zeitliche Daten zu gruppieren. Dies könnten z.B. Sales Buchungen sein die nach einem Kundensegment gruppiert werden sollen. Allerdings möchte man nicht einfach nur Kundengruppen auf gruppieren. Sondern man sollte dies auch nach angrenzenden zeitlichen Buchungen gruppieren. Wenn ihr Interesse an weiteren SQL Themen habt und wissen wollt wie man z.B. Conditional Joins optimiert dann schaut euch doch diesen Beitrag von mir an. Ich werde auch nicht auf die Erklärung von Select oder FROM Befehlen weiter angehen. Wenn ihr also noch die Grundlagen erklärt bekommen müsst empfehle ich euch vorher ein paar Tutorials durch zu lesen. Ich würde empfehlen auf der Seite von W3Schools die entsprechenden Tutorials durch zu gehen.

Nehmen wir an, wir haben eine Tabelle mit unseren Sales Buchungen je Kundensegment. Dabei wird jede Buchung mit einem Timestamp versehen und der Umsatzgröße wie in dem u.g. Beispiel.

Weiterlesen

How to: Texte mit Python analysieren Teil 1

Text Mining. Was ist das? Viele kennen inzwischen diesen Begriff. Es hat was zu tun mit Data Mining. Da sind wir uns sicher. Aber wie genau kann ich Informationen aus einer großen Menge an Texten herauskristallisieren und vor allem, wie kann ich diese Texte evtl. auch in Gruppen einteilen und bestimmen was sie zum Thema haben ohne alle Texte selber lesen zu müssen?

 

Diesen Fragen werden wir uns nun in dem heutigen Beitrag stellen. Am Ende solltet ihr ein Verständnis davon haben:

  • Was Unsupervised & Supervised Algorithmen sind
  • Was das PreProcessing bei Text Mining beinhaltet
  • Welche Python Packages sich dafür besonders eignen

Wie Ihr seht braucht man da evtl. schon etwas Vorwissen zu grundsätzlichen Themen in Python. Also ich werde nicht erklären was Funktionen, Python Packages usw. sind sondern wirklich auf die spezifischen Fragen beim Thema Text Mining eingehen. Wenn ihr die Grundlagen noch braucht lest vorher lieber einen der folgenden Beiträge: Python Umgebung auf eigenem Rechner einrichten oder Pandas, Import/Export und Grundlagen der Datenmodellierung. Dies ist nur der erste Teil von zwei Beiträgen der den theoretischen Kleinkram grundsätzlich erklärt. Die praktischen Beiträge wird es in einem 2. Beitrag geben. Let’s Go

Weiterlesen

Was bedeutet eigentlich Agil?

Seit einigen Jahren hört man es schon. „Wir werden jetzt agil“ oder „Wir bauen jetzt auf eine agile Organisation“. Man fragt sich häufig, was bedeutet das denn jetzt überhaupt? Oder ist es einfach nur wieder ein Buzzword, welches gerade durch die Management Ebenen hallt? Das möchte ich gerne einmal versuchen näher zu betrachten und meine eigenen Gedanken dazu auf das digitale Papier bringen.

Um das Thema zu betrachten müssen wir erst einmal den Begriff Agil definieren. Agil kommt von Agilität und das wiederum bezeichnet, laut Wikipedia, die Fähigkeit einer Organisation flexibel und proaktiv, antizipativ und initiativ auf Veränderungen zu reagieren. Also die Fähigkeit auf sich verändernde Umwelteinflüsse zu reagieren. So etwas könnte dann zum Beispiel auch ein Technologiewandel sein. Firmen die also agiler als andere sind können also besser auf Umweltveränderungen reagieren und haben damit einen Wettbewerbsvorteil, besonders in Zeiten in denen große Veränderungen anstehen wie es aktuell der Fall ist.

Weiterlesen

Process Modelle mit Petri Nets erstellen Teil 2 … jetzt wirds ernst

Im ersten Beitrag habe ich erklärt was Conformance im Bereich Process Mining ist und was es uns bringen kann. Außerdem habe ich erläutert, dass es häufig mit sogenannten Petri Netzen erzeugt wird. Heute werde ich darauf eingehen aus was Petri netze bestehen und wie ich diese erzeuge. Das Ziel in dem konkreten Use Case ist es, diese Petri Netze für die Nutzung in dem Tool Celonis aufzubereiten. Mit anderen Tools kann das benötigte Ergebnis etwas anders aussehen aber das Prinzip bleibt das gleiche..

Vielleicht, bevor wir einsteigen. Mit welchen Tools kann ich Conformance Funktionen mithilfe von Python einsetzen?

  • Celonis: Über eine Python API kann eine Conformance Abfrage an das Celonis Tool übergeben werden, welche jede Aktivität in dem Prozess auf Konformität überprüft.
  • PM4PY: Open Source Framework direkt in Python vom Frauenhofer. Hier gibt es Funktionen die aus den einzelnen Bausteinen ein Petrinetz erzeugen können und damit auch im Rahmen von Process Mining eine Conformance Funktion bietet.

Folgende Punkte werden in diesem Artikel behandelt:

  • Woraus bestehen Petri Netze
  • Woraus bestehen in der Regel Prozess Modelle
  • Let’s Code – Transformieren des Prozess Modells in ein Petri Netz
  • Weiterer Ausblick

Weiterlesen

Mit Pandas-Profiling schnell einen Datenüberblick gewinnen

Jeder kennt es, wenn man mit neuen Datensätzen arbeitet muss sich zu erst ein Überblick über die vorhandenen Datensätze gewonnen werden. Häufig werden dabei verschiedene Tests durchgeführt um den Umfang, die Verteilung der Daten sowie fehlerhafte Datensätze, Null Werte oder auch sogar Korrelationen zwischen Variablen zu entdecken. Häufig übersieht man dabei etwas oder vergisst eine wichtige Info die den weiteren Data Science Prozess aufhält oder sogar zu falschen Annahmen führt. Anfang 2020 bin ich im Rahmen meines Jobs auf die Python Bibliothek „Pandas-Profiling“ aufmerksam geworden, welche dem Data Scientisten viele dieser Aufgaben erleichtert.

In diesem Blogartikel möchte ich diese Bibliothek und die Möglichkeiten etwas näher betrachten. Im ersten Teil möchte ich darauf eingehen, wie man mit der Anaconda Distribution oder dem klassischen PIP Tool die Bibliothe herunterlädt und wie sie genutzt werden kann. Im Zweiten Teil werde ich erklären wie man mit wenigen Zeilen Code eine ausführliche HTML Datei erzeugt, welche Einblicke in den vorliegenden Datensatz ermöglicht.

Also fangen wir an… Weiterlesen

How to: Web Scraping Data mit Beautiful Soup

Eine der wichtigen Aufgaben der Data Science ist es erst einmal an Daten zu kommen die man analysieren kann. Häufig werden einem von Auftraggebern bereits bestehende Daten zur Verfügung gestellt. Es kann aber auch vorkommen, dass erst noch Daten erhoben werden müssen. Eine Möglichkeit wie Daten von Webseiten gesammelt werden können möchte ich euch im folgenden erläutern.

In diesem Beitrag werde ich etwas über das Web Scraping schreiben. Dabei handelt es sich um eine Methode mit der Daten aus den HTML Strukturen von Webseiten extrahiert werden. Vorab gibt es hier aber einige Dinge zu beachten.

  1. Wenn möglich nutzt API’s der Anbieter, da diese genau für die Sammlung von Daten vorgesehen sind
  2. Versichert euch, dass die Daten die ihr sammelt auch für eure Zwecke verwendet werden dürfen (ggf. Fragen)
  3.  Überlastet die Webseite des Anbieters nicht mit euren Anfragen. Gerade wenn man eine komplette Webseite durchsucht und z.B. Dateien runterlädt oder die Unterseiten durchsucht, dann können kleinere Webseiten schnell in die Knie gehen. Außerdem könnte bei zu vielen Datenabfragen in zu kurzer Zeit der Admin auf die Idee kommen, dass ihr ein bösartiger Angreifer seid und eure IP blocken.

Weiterlesen

Projektergebnis: Datenanalyse von Telekommunikationsblogs

In diesem Beitrag möchte ich eine Analyse von Daten, die ich aus RSS Feeds von verschiedenen Telekommunikationsblogs  gesammelt habe vorstellen. Damit möchte ich eine Idee geben wie man Analytics Aufgaben angehen könnte.

In dem Rahmen möchte ich auch verschiedene Punkte bzw. Fragen aufgreifen die sich mir bei der Planung und Durchführung des Analytics-Projekt gestellt haben.

  • Was ist meine Fragestellung/Hypothese gewesen?
  • Wie kann ich hier an Daten kommen und warum habe ich mich für diese Methode entschieden?
  • Wie habe ich die Daten aufbereitet und analysiert?
  • Welche Erkenntnisse habe ich daraus abgeleitet?
  • Was habe ich für zukünftige Projekte daraus gelernt?

Weiterlesen

Data Lake vs Data Warehouse|Damu-Analytics

Im Bereich der Datensammlung und -bereitstellung wird ein Begriff immer häufiger genannt, der Data Lake. Was ist aber dieser Data Lake und worin unterscheidet er sich von einem klassischen Dataware House? Diese Frage möchte ich gerne in diesem Artikel näher beleuchten, da die Technologie zunehmend die Basis von Advanced Analytics und Data Science bildet.

Der Data Lake. Ein großer See von Daten der über große Datenströme mit immer neuen Daten versorgt wird. Diese Metapher passt ziemlich gut. Aber die Frage die sich häufig stellt, ist was für Vorteile gegenüber einem Datawarehouse habe ich und wie ist ein Data Lake eigentlich aufgebaut? Außerdem wissen Unternehmen häufig nicht genau wie diese Datenmengen gewinnbringend eingesetzt werden können. Darum werden wir uns folgendes anschauen

  • Eine kurze Erklärung des Begriffs
  • Aufbau eines Data Lakes
  • Unterschiede eines Data Lakes vs Data Warehouses
  •  Einsatzmöglichkeiten

Weiterlesen

Process Mining – einfach erklärt |Damu-Analytics

Process Mining, Data Mining, Text Mining – Die Data Analysten werden zu Minenarbeitern und keiner weiß mehr was das alles eigentlich bedeutet. In diesem Artikel möchte ich euch den Begriff Process Mining erläutern, da er in den letzten Jahren eine wachsende Bedeutung im Unternehmensumfeld erfahren hat und euch häufige Fehler die beim Einsatz gemacht werden beschreiben.

So was ist denn jetzt dieses Process Mining? Im Prinzip leitet es sich vom Begriff Data Mining ab und um Process Mining zu verstehen, sollte man den Begriff Data Mining verstehen. Also fangen wir doch genau dort einmal an. Data Mining setzt sich aus 2 Begriffen zusammen. Data = Daten und Mining = Schürfen. Daraus lässt sich schließen, dass man mit Data Mining versucht Daten zu schürfen also zu gewinnen. Wichtig ist dabei, dass es nicht darum geht Daten zu erschaffen oder zu erfassen, sondern Informationen und Wissen aus den bereits erfassten Daten zu gewinnen. Dabei werden vor allem Methoden angewandt mit denen Daten strukturiert und zusammengefügt werden. Mit verschiedenen Algorithmen, Machine Learning, Text Mining Algorithmen kann der Data Analyst/Scientist dann versuchen Muster und Abhängigkeiten in den Daten zu entdecken und so neue Erkenntnisse aus den Daten zu generieren. Im Verlauf des Datenaufbereitung Prozesses entsteht so eine Datenpipeline die alle Daten durchlaufen und am Ende stehen die Erkenntnisse aus den Daten aufbereitet zur Verfügung. Data Mining ist dabei nur ein Teil dieser Prozesskette, welcher die Muster in den Daten aufdecken soll. Weiterlesen

How to: Python Umgebung auf eigenem Rechner einrichten

Python ist eine Programmiersprache, welche sich besonders im Data Science Bereich großer Beliebtheit erfreut. Die Gründe dafür sind vielfältig. Die Sprache ist leicht zu erlernen und man muss sich über viele Dinge wie Speicherverwaltung oder Variablendeklaration keine Gedanken machen. In diesem Beitrag möchte ich euch zeigen wie ihr euch eine Python Umgebung einrichten könnt und neue Librarys installieren könnt.

Python wird anders als viele andere Programmiersprachen, welche vor Ausführung kompiliert werden müssen, zur Laufzeit von einem Interpreter interpretiert.  Außerdem ermöglicht Python eine Objektorientierte Programmierung und ist ohne Anpassungen auf vielen verschiedenen Systemen einsetzbar. Inzwischen gibt es für fast jede Problemstellung in Python eine passende Bibliothek, was es gerade für Analysten und Data Scientisten zu einer extrem hilfreichen Programmiersprache macht. Die offizielle Python Webseite ist http://python.org. Weiterlesen

WordPress Cookie Plugin von Real Cookie Banner