Kategorie: Data Science

Data Science meets SEO, Teil 5

Der letzte Teil dieser Serie über Suchmaschinenoptimierung/SEO und Data Science auf Basis meines Vortrags bei der SEO Campixx. Die Daten und den Code habe ich via Knit in ein HTML-Dokument überführt, das mein Notebook inklusive Daten nachvollziehbar macht. In dem Notebook sind auch ein paar mehr Untersuchungen drin, allerdings habe ich alles auf Englisch dokumentiert, da dies nicht nur für Deutsche interessant ist. Wer also alle Ergebnisse in einem Dokument lesen möchte (ohne die TF/IDF, WDF/IDF oder Stemming-Beispiele), schaut sich bitte das Data Science & SEO Notebook an. Speed und andere Faktoren sind in den vorherigen Teilen zu lesen.Continue reading

Filed under: Data ScienceTagged with: , , ,

R: dplyr/sparklyr vs data.table Performance

In their 2017 book “R for Data Science“, Grolemund and Wickham state that data.table is recommended instead of dplyr when working with larger datasets (10 to 100 Gb) on a regular basis. Having started with Wickhams sparklyr (R’s interface to Spark using the dplyr dialect), I was wondering how much faster data.table actually is. This is not the most professional benchmark given that I just compare system time before and after the script ran but it gives an indication of the advantages and disadvantages of each approach.

Continue reading

Filed under: Data ScienceTagged with: , , , , ,

R ist wie Rauchen

“Using R is a bit akin to smoking. The beginning is difficult, one may get headaches and even gag the first few times. But in the long run,it becomes pleasurable and even addictive. Yet, deep down, for those willing to be honest, there is something not fully healthy in it.”

Francois Pinard

Filed under: Data Science

Data Science meets SEO, Teil 3

In den ersten beiden Teilen ging es darum, was Data Science überhaupt ist und warum WDF/IDF-Werte sehr wahrscheinlich wenig mit dem zu tun haben, was bei Google unter der Motorhaube passiert. In diesem Teil geht es einen Schritt weiter, wir schauen nämlich, ob es Korrelationen zwischen Ranking Signalen und der Position gibt. Im Vortrag hatte ich das am Beispiel einer Suchanfrage gezeigt und angesichts der zur Verfügung stehenden Zeit auch eher kurz abgehandelt. Hier kann ich in die Tiefe gehen. Wir schauen uns hierbei allerdings erst einmal nur jedes einzelne Rankingsignal in Bezug auf die Positon an, nicht die eventuell vorhandene Wirkung der Rankingsignale untereinander.Continue reading

Filed under: Data ScienceTagged with: , , ,

Data Science meets SEO, Teil 2

Nachdem ich im ersten Teil erklärt habe, was Data Science ist und was es in diesem Bereich schon zum Thema SEO gibt, nun der zweite Teil, wo wir uns etwas genauer damit beschäftigen, was die linguistische Verarbeitung eines Dokuments durch eine Suchmaschine für eine Auswirkung auf SEO-Konzepte wie Keyword Density, TF/IDF und WDF/IDF hat. Da ich auf der SEO Campixx live Code gezeigt habe, biete ich hier alles zum Download an, was das Nachvollziehen der Beispiele noch erlebnisreicher macht 🙂 Das geht übrigens auch ohne die Installation von R, hier ist der komplette Code mit Erklärungen und Ergebnissen zu finden.Continue reading

Filed under: Data ScienceTagged with: , , ,

R-Funktion des Tages: rep.int

Problem: Ich bekomme von dem System eine aggregierte Liste der Nutzer, die in ein Bucket fallen, zum Beispiel wie viele Nutzer pro Anzahl Sekunden auf einer Seite waren:

seconds,users
0,”201,107″
1,”299,574″
2,”439,234″
3,”615,117″
4,”837,688″
5,”1,003,248″
6,”1,056,207″
7,”1,025,102″
8,”949,128″
9,”857,241″
10,”764,080″
11,”677,163″
12,”600,691″
13,”534,670″

Jetzt möchte ich die üblichen Werte wissen wie mean, median etc. Dumm nur, dass mir die einzelnen Werte nicht zur Verfügung stehen, sondern eben nur pro Kategorie wie 1 Sekunde, 2 Sekunden, 3 Sekunden und so weiter. Ich könnte jetzt zwar noch den Mean ausrechnen (indem ich zB eine dritte Spalte erstelle und in dieser das Produkt aus seconds und users berechne und dann summiere und durch die Summe der Spalte users teile, aber den Median bekomme ich trotzdem so nicht raus.

Lösung: rep.int. Diese Funktion wiederholt einen Wert in einer Spalte genau so oft wie in einer anderen Spalte angegeben, in diesem Beispiel mit

with(df, summary(rep.int(df$seconds,df$users)) )

 

Filed under: Data ScienceTagged with: ,

Wird mein Content gelesen? Sichtbarkeit von Elementen messen!

Im September 2017 hatte ich noch darüber geschrieben, dass die Scrolltiefe ein besserer Indikator dafür wäre, ob ein Inhalt gelesen wurde als die reine Sitzungsdauer, die eh Quatsch ist. Einen Monat später veröffentlichte Google dann eine neue Funktion im Google Tag Manager, einen Trigger für die Sichtbarkeit von Elementen (in der deutschen Version der Release Notes fehlte der Hinweis). Damit lassen sich einige Nachteile des Scrolltiefen-Ansatzes kompensieren, vor allem die Einschränkung, dass nicht jede Seite gleich lang ist und “75% gelesen” nicht immer bedeuten muss, dass der Inhalt auch bis zum Ende gelesen wurde (75% wurde deswegen gewählt, weil viele Seiten einen immensen Footer haben und die Nutzer daher nicht zu 100% runterscrollen). Eine Seite bei mir hat so viele Kommentare, dass sie mehr als die Hälfte des Inhalts ausmachen.Continue reading

Filed under: Data ScienceTagged with: , , , , ,