DaMu-Analytics
Rekursion

How to: SQL rekursive Abfragen erstellen

Die Frage wie man in SQL rekursive Abfragen erstellen kann kommt zwar nicht besonders häufig vor. Aber vor kurzem hatte ich tatsächlich eine Projektanfrage, genau so etwas zu realisieren. Rekursive Abfragen sind dabei Abfragen die sich selbst wieder aufrufen. Was das genau ist, wozu das verwendet werden kann und ganz wichtig, wie das genau funktioniert werden wir in dem Artikel untersuchen.

Also für diesen Artikel werden wir die folgenden Punkte erklären.

  • Was bedeutet Rekursiv?
  • Wozu kann ich rekursive Funktionen oder Abfragen verwenden?
  • Wie kann ich in SQL eine Rekursive Abfrage erstellen?

Weiterlesen

How to: Texte mit Python analysieren Part 3

Wir beschäftigen uns in diesem Artikel wieder mit den Trump Tweets aus 2019 wie schon in den vorherigen Artikeln. Die sind nun schon deutlich älter. Die gezeigten Prinzipien lassen sich aber auch auf ziemlich alle anderen Datensätze anwenden. Ziel ist es zu analysieren, was für Themen Cluster in den Tweets stattgefunden haben. Ich werde die aufbereiteten Texte mit einfachen statistischen Mitteln für einen Cluster Algorithmus „interpretierbar“ machen und mehrere unterschiedliche Algorithmen miteinander vergleichen.

Es ist nun schon etwas länger her, dass ich einen Blog Beitrag verfasst habe. Es ist halt doch nicht so viel Zeit wie ich gedacht habe, um sich nebenbei mit solchen Themen zu beschäftigen. Aber die Geduld soll belohnt werden. Darum werden wir die Texte nun versuchen zu Clustern und an dem Beispiel 3 spannende Cluster Algorithmen vergleichen. K-Means, DBSCAN und HDBSCAN. Vorab, es gibt nicht den einen perfekten Algorithmus der immer passt. Neben diesen drei Algorithmen gibt es noch viele weitere die ebenso verwendet werden können.

Weiterlesen

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 2

Im ersten Teil haben wir das theoretische Grundkonzept von Text Mining erläutert. In diesem Teil wollen wir ein paar Dinge praktisch anwenden und uns mal ansehen, wie man so Texte mit Python analysieren kann und das alles an einem konkreten Beispiel aus den Texten herauskristallisieren kann.

Den ersten Teil könnt ihr unter diesem Link finden. Es wird kurz angerissen, was man mit Text Mining machen kann. Welche Machine Learning Verfahren es gibt und wie die grundsätzlichen Pre-Processing Schritte aussehen. Außerdem werden 2 Packages zur Textverarbeitung vorgestellt. In diesem Artikel werden wir nun die folgenden Themen, am Beispiel eines Trump Twitter Datensatzes, behandeln:

  • Erklärung des Datensatzes
  • Erste Untersuchung des  Datensatzes
  • Preprocessing Schritte
  • Gewinnen der ersten Informationen & Erkenntnisse
  • Ausblick auf weitere Analysen

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

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

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