KNIME: Tipps & Co. Nr.01

Schnell eine Spalte von Nicht-String auf String umstellen:

  • Reinziehen u. Andocken von „String Manipulation.
  • Da reinschreiben: „join(string($$$[DeineSpalte]$$$))“

In einer Spalte einen Substring finden und den Fundort innerhalb des Strings speichern:

  • Reinziehen u. Andocken von „String Manipulation“
  • Da reinschreiben: „indexOf($[DeineSpalte]$, „[DeinSuchbegriff]“)“
  • Bei „Append Column“ ggf. eine neue Spalte benennen.

Simple If-Then-Else-Anweisungen durchführen lassen

  • Rule Engine in die Arbeitsfläche ziehen und Andocken
  • Bei Expression reinschreiben: „$[DeineSpalte$ > 0 =>1 // NOT ($[DeineSpalte]$ >0) => 0“. Das // sagt aus, dass hier ein Zeilenumbruch reingehört.

Wie kann ich: bei KNIME Spalten nach Substring(s) filtern?

Das war heute eine wichtige Fragestellung und die Lesenden des Blogs mögen so handeln:

  • Wissen, welche SPALTE denn durchgefiltert werden soll!
  • Row Filter (Komponente) auf die Arbeitsfläche ziehen und entsprechend andocken!
  • In der Konfiguration: „Column to test“ auswählen und die „Matching criteria“ anpassen.
  • Hinweis! Wichtig! Teilstrings haben so deklariert zu werden, wie im Screenshot gezeigt. Also: *schule“ filtert alles, wo „schule“ vorkommt (Hochschule, Hauptschule).

Der Rest dürfte analog zum Screenshot selbsterklärend sein und Fragen gerne in die Kommentare.

Erste Testläufe mit KNIME – 3DScatter Plot durchgeführt

Die letzten 2 Tage waren stark geprägt von wichtigen + projektbezogenen Datenvisualisierungsaspekten. Weil mir immer wieder gespiegelt wird, dass dieses 3D-Element wichtig für die Veranschaulichung v. Erkenntnissen ist, entschied ich mich für die Einbindung dieser Komponente.

Datengrundlage ist hier jeweils der aktuelle Bestand unter dem Thema „HomeSchooling“ mit Ausfilterung auf Digitalisierung, Familie, Schule und weiteren Aspekten.

Ich verstehe JETZT, warum die Datascience-Kunst durchaus kostenintensiv ist, denn das Einarbeiten in KNIME und das Komponieren der Analysestrecke hat allein mich ca. 4 Tage gekostet.

Wir diskutieren intern noch diverse Reportingszenarien durch und ich bin persönlich nicht begeistert von den Layoutmöglichkeiten von KNIME, weswegen ich die Thematik streng manuell halten will. Das „fühlt“ sich auch besser an, weil auch schöne Grafiken letztendlich eine individuelle Erklärung verlangen. Dafür bezahlt man immerhin sehr viel Geld.

Datenmanagement: Twitter-Workflow

Das ist unser Workflow für den Import und die weitere Verarbeitung des Twitter-Datenpools.

Ich entschied mich hier bewusst für einen Wechsel auf KNIME, weil die Datenbankerstellung (SQLite) per default so realisiert wird, dass eine Spaltengenerierung in Abhängigkeit zum Rohformat (hier: CSV, basierend auf dem Python-Scraper) organisiert ist.

Das Workflow lässt sich problemlos auf verschiedene Szenarien, also „lang=de“ PLUS „content like %xyz%“ erweitern.

Datenvisualisierung: diverse und ergänzende Charts

Diese Module wurden durch das Projektgeschäft explizit angefordert / eingefordert und sie dienen in vielen Fällen zur Untermauerung der Reports, der Strategieempfehlungen oder der Illustration diverser Briefings.

Die Galerie zeigt die Ergebnisse der Analyse von 250.000 Tweets rund um die Themenwelten der Covid19/Pandemie-Problematik.

Datenvisualisierung: Modul „Netzwerk Betrachter“

Im arbeitsfähigen Workflow habe ich bewusst das Modul „Network Viewer“ in den 2 bekannten Versionen integriert. Es ist in dem Umfeld sehr komplex und in der Lage, Wort/Themenzusammenhänge verstehbar darzustellen.

Besser: die Screenshots zeigen die Verbindungen zwischen den Themen/Keywords auf Basis der Vorgewichtungen (also: Interaktionsmetriken, Cluster und die allgemeine inhaltliche Nähe zueinander).

Ein Hinweis zu der „Nähe“: ich entwickelte in den letzten Wochen eine abbildbare Logik, welche die Nähe auf Basis externer „Trigger“ identifiziert. Wenn also eine relevant hohe Menge an Personen quasi eine Nähe zwischen den Themen via Kommunikation definiert, sind die Themen miteinander verbunden.

Das sichert die Objektivität der Interpretationsgrundlagen ab.

Datenvisualisierung: Modul „Entscheidungsbaum“

Das Modul ist Bestandteil des Twitter-Instagram-Auswertungsworkflow und es verlangt, im Vergleich zu den anderen Features, sehr SEHR viel Arbeitsspeicher und CPU-Ressourcen.

Die beigefügten Bilder zeigen die Ergebnisse der Analyse aus der Twitter/Covid19-Datenmenge (250.000Tweets, lang=DE) und liefert bei entsprechender Interpretationsfähigkeit weitergehende Informationen zu den Filterblasen der beteiligten Accounts.

Wie funktioniert das? Der Baum erlaubt eine Sichtung anhand der Interaktionsmetriken (Likes, Retweets etc.) und listet Wortgemeinsamkeiten zwischen den Ästen auf. Eventuelle Ableitungen erklären wir gern nach Anfrage und für HonorarXYZ.

Datenvisualisierung: Modul „Tagcloud“

Das verwendete Modul zeigt hier am Beispiel der Covid19-Datensätze (Twitter, 250.000 Einträge) eine weitere Visualisierungsoption auf Basis einer Vorfilterung.

Bild Nr.01 bezieht sich auf die Anzahl der Likes und Bild Nr.02 hat als Grundlage die Anzahl der Retweets. Die gemeinsame Basis sind vorgefilterte und geclusterte Datensätze (Ausfilterung von SPAM, Fakes, Werbende und Bots).

Datenvisualisierung: Modul „Parallel Coordinates Plot“

Das Beispiel verdeutlicht eine weitere Visualisierungsoption, ausgehend von der Themenwelt „Covid19/Coronavirus/Pandemie“ aus der Datenquelle: Twitter.

Zur Erklärung: analysiert wurden 250.000 Tweets und wegen der extrem hohen Masse musste hier via KNIME eine Filterung und Gewichtung realisiert werden. Das geschieht im Workflow über die Verbindung mit den bspw. Interaktionsmetriken, der Prüfung auf Inhaltsqualitäten und der Clusterung der Einzeldatensätze mit Hilfe von „k-Means“.

„k-Means“ bietet sich an, weil das Modul letztendlich nur mit den gewünschten Informationen, wie Likes + Retweets + Anzahl-User usw., befüllt werden muss und dann eigenständig die Berechnungen durchführt und die Ergebnisse auf die Einzelterms / Keywords zurückführt.