DaMu-Analytics

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

Meine Blogübersicht zu Data Science und Digitalisierung

Im Internet gibt es zahlreiche Blogs zu allen Themen. Da ist es manchmal schwierig den Überblick zu behalten. Ich will darum mal ( auch für mich selber) meine aktuellen Top Webseiten zu den Themen Data Science, Prozessmanagement und Digitalisierung zusammenschreiben. Vielleicht hilft es auch den einen oder anderen neue Ideen zu bekommen.

Der Beitrag wird entsprechend auch aufgeteilt in diese Bereiche und ich werde zu den verschiedenen Blogbeiträgen einen kurzen Kommentar geben. Den Anfang machen Blogs zum Thema Data Science.

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

SQL Conditional Join – Was ist das und warum sollte ich es vermeiden?

Dieser Post ist entstanden aus einem aktuellen Arbeitsthema von mir. Wir haben bei uns eine HANA Datenbank in der wir verschiedene Daten einspielen, aufbereiten und dann über verschiedene Visualisierungstools darstellen können. Dabei müssen wir Daten aus verschiedenen Tabellen und Views miteinander verbinden. Dabei müssen wir dies nun auch manchmal anhand verschiedener Bedingungen verbinden oder verjoinen. Ein sogenannter Conditional Join. Was das genau ist und wo das Problem dabei ist werde ich in diesem Artikel erläutern.

Also was ist nun ein Conditional Join?

Grundsätzlich kann ich 2 Tabellen in SQL mit einem sogenannten Join über einen Schlüssel verbinden. Dabei gibt es z.B. den Inner Join der nur Tabellenzeilen anzeigt bei denen die Schlüssel in beiden Tabellen übereinstimmen.

Weiterlesen

Prozessmodelle mit Petri Nets abbilden

In Unternehmen gibt es eine Vielzahl von Prozessen. Diese werden häufig mit speziellen Programmen wie ARIS und Co. abgebildet. Dabei fehlt aber häufig eine Zusammenführung mit den tatsächlichen IST-Daten der Prozesse. Wie man diese Daten und Sichten zusammenführen kann möchte ich, da ich gerade auf der Arbeit genau solch eine Aufgabe vor mir habe, darüber einen kleinen Beitrag mit meinen aktuellen Erkenntnissen dazu schreiben.

Wir werden dabei auf Methoden im Rahmen des Process Minings eingehen. Was Process Mining ist habe ich bereits versucht in einem eigenen Beitrag zu erläutern. Siehe hier.

Was werde ich also explizit erläutern?

  • Unterschied Discovery zu Conformance
  • Was brauche ich für Conformance
  • Was sind Petrinets und wie sind diese aufgebaut?
  • Wie sieht der aktuelle Use Case für das aktuelle Projekt bei mir aus / Was für Herausforderungen gibt es?

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

Praxisbeispiel: Webscraping newest Podcasts

In einem vorigen Beitrag habe ich an einem recht konstruiertem Beispiel die Möglichkeiten von Web Scraping mithilfe von dem Python Package „Beautiful Soup“ beschrieben. Siehe dazu hier. Nun möchte ich anhand eines kleinen Projektes von mir, an dem ich gerade privat arbeite, demonstrieren wie der Einsatz dieser Methode euch bei der Automatisierung von Funktionen helfen kann.

Zuerst einmal. Aktuell bin ich dabei, aufgrund der Corona Krise und der damit teilweise einhergehenden Langeweile, mich mit dem Thema Smart Home auseinander zu setzen. Dazu setze ich verschiedene Komponenten ein die ich über meinen Raspberry Pi dann als Steuerzentrale steuern lasse. Wenn das weiter fortgeschritten ist werde ich darüber auch einen eigenen Beitrag verfassen. Aktuell habe ich eine Routine gebaut, die mir morgens das Licht langsam einschaltet (von dunkel zu hell) und dabei dann anfängt Musik zu spielen. Allerdings möchte ich gerne, dass verschiedene Nachrichten Podcasts danach anfangen abzuspielen und ich somit während ich Zähne putze und Dusche quasi nebenbei ein kleines News Update bekomme. Das Problem so eine Funktion gibt es aktuell nicht in meiner Smart Home Zentrale, zumindest habe ich bisher nichts dazu gefunden. Darum musste ich mir selbst eine Lösung überlegen. 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

Digitalisierte Prozesse – Wie aus einer PDF ein Arbeitsgewinn wird

Digitalisierung. Das ist ein Wort das in vielen Unternehmen derzeit umgeht. Alle sind sich einig, wir müssen die Digitalisierung in unserem Unternehmen vorantreiben. Aber was bedeutet die Digitalisierung und wie kann ich diese umsetzen?

Viele Unternehmen digitalisieren gerade. Aber irgendwie entwickelt die Digitalisierung häufig nicht die Durchschlagskraft die man erwartet hat. Woran liegt das?
Häufig fängt es bereits bei dem Begriff an. Für viele bedeutet Digitalisierung eventuell eine Mobile App zu erstellen, oder aus Papier Dokumenten werden PDF Dokumente erstellt. Es werden zusätzliche IT-Systeme oder Tools eingeführt, die für sich Informationen schaffen und gesondert ach auswertbar machen. Das Problem aber ist häufig, dass kein großes Gesamtkonzept vorliegt. Es bringt nichts wenn ich eine Mobile Applikation herausbringe die nicht genutzt wird, oder wenn ich statt Papier Dokumenten nun PDF Dokumente ablege. Wenn ich einen schlechten Prozess Digitalisiere habe ich immer noch einen schlechten Prozess. Im Rahmen der Digitalisierung sollte man sich überlegen, was für Technologien gibt es. Was für eine konkrete Zielsetzung habe ich bzw. welches Problem möchte ich lösen. Dann sollte man sich überlegen, wie sieht der aktuelle Prozess aus um dieses Problem zu lösen und gibt es weitere Prozesse die das gleiche oder ähnliche Problem lösen oder zu lösen haben. Weiterlesen

WordPress Cookie Plugin von Real Cookie Banner