Gruppenzuordnung von Datensätzen auf Basis von Keywords für SEO Anwendung

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

Antworten
Mamgoo

Gruppenzuordnung von Datensätzen auf Basis von Keywords für SEO Anwendung

Beitrag von Mamgoo »

Hallo,
ich bin kein Statistiker, auch kein Mathematiker, sondern Programmierer, hauptsächlich Internetprojekte. Bitte bei folgender Aufgabenstellung um Unterstützung:

Gegeben ist folgende Matrix:

ID KW01 KW02 KW03 KW04 KW05 ..KW90
-------------------------------------------------------
1 0 1 1 0 1 0
2 1 0 0 0 1 0
3 0 0 0 0 0 1
4 0 0 1 0 0 1
5 1 1 0 1 1 0
usw.

ID ist die eindeutige Datensatznummer, und KW001 bis KW90 sind die Keywordspalten. 1 in KW01 bedeutet das Keyword ist eingetragen, 0 bedeutet kein Eintrag. Ein Datensatz bzw. in einer Zeile, können zwischen 1 und ca. 10 Keywords eingetragen sein.

Ziel ist es, die ID`s einer von z.B. 10 Gruppen zuzuordnen. Ich habe es mit der Clusteranalyse probiert, jedoch bekomme ich, wahrscheinlich aufgrund meiner fehlenden Kenntnisse, keine vernünftigen Daten raus. Wobei ich 300 Zeilen mit zufälligen (vielleicht liegt es daran) Keywords Einträgen generiert habe (siehe TestdateiSEO in Excel). Meine Fragen:

1. Ist das mit R bzw. mit Statistik möglich?
2. Falls ja, wie ist die Herangehensweise?
3. Oder ist das eher ein Fall für ein neuronales Netz?

Danke!
Mamgoo
Dateianhänge
TestdatenSEO.xls
(197 KiB) 96-mal heruntergeladen
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Gruppenzuordnung von Datensätzen auf Basis von Keywords für SEO Anwendung

Beitrag von EDi »

1. Ist das mit R bzw. mit Statistik möglich?
Sicherlich... R kann alles, außer Kaffee kochen.
2. Falls ja, wie ist die Herangehensweise?

Würde die Daten erst mal visualisieren - PCA oder MDS könnte hilfreich sein.
Danach reicht ja vielleicht schon ein einfaches hierarchisches clustering .
Bei mds und hclust müsste man nur ein geeignetes distanzmaß nehmen - simple matching oder jaccard wäre Kandidaten.
3. Oder ist das eher ein Fall für ein neuronales Netz?
Sehe dazu jetzt keine zwingende notwendigkeit...
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
bigben
Beiträge: 2778
Registriert: Mi Okt 12, 2016 9:09 am

Re: Gruppenzuordnung von Datensätzen auf Basis von Keywords für SEO Anwendung

Beitrag von bigben »

Hallo Mamgoo,

herzlich willkommen im R-Forum.
Mamgoo hat geschrieben: Mo Apr 17, 2017 1:14 pmZiel ist es, die ID`s einer von z.B. 10 Gruppen zuzuordnen. Ich habe es mit der Clusteranalyse probiert
Ohne weitere Beschreibung, was die 10 Gruppen bedeuten sollen, hätte ich auch als erstes an eine Clusteranalyse gedacht.
Wobei ich 300 Zeilen mit zufälligen (vielleicht liegt es daran)
Ja, daran kann es liegen. Wenn die Daten mit einem guten Zufallsgenerator erstellt wurden, dann haben sie eben keine Clusterstruktur. Gibt es denn Gründe zur Annahme, dass Deine Originaldaten 10 Clustern zugeordnet werden können?

Ansonsten mal ganz gemütlich mit einer hierarchischen Clusteranalyse und einem Dendrogramm anfangen, und zwar über echte Daten oder solche die so simuliert wurden, dass sie eine Clusterstruktur haben.
Oder ist das eher ein Fall für ein neuronales Netz?
Neuronale Netze sind gut, wenn Du hinreichend große Datensätze hast. Die Zahl der zu schätzenden Werte und damit die Zahl der zum Training erforderlichen Datensätze wird sehr schnell sehr groß. Das, woran man gemeinhin denkt, wenn man neuronales Netz hört, gehört eher in die Gruppe des überwachten Lernens, Dein Problem gehört aber zum unüberwachten Lernen. Das wäre ein kleines Spezialgebiet innerhalb der neuronalen Netze. Da wäre "self-organizing map" ein geeigneter Suchbegriff. Vorläufig denke ich weiter, dass Clusteranalyse der richtige Ansatz sein dürfte.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Mamgoo

Re: Gruppenzuordnung von Datensätzen auf Basis von Keywords für SEO Anwendung

Beitrag von Mamgoo »

Hallo Bernhard,

danke für deine Antwort.
bigben hat geschrieben: Di Apr 18, 2017 1:27 pm Ohne weitere Beschreibung, was die 10 Gruppen bedeuten sollen, hätte ich auch als erstes an eine Clusteranalyse gedacht.
Die 10 Gruppen, es könnten auch 5 oder 15 sein, wären dann Anwendergruppen. Also nochmal, worum geht es? Gegeben sind z.B. 1.000 Datensätze von beliebigen Firmen. Jeder Datensatz beinhaltet SEO Kewords, mindestens eines, und sagen wir mal maximal 10.

Als Beispiel: KW01 könnte lauten "Hotel", KW02 z.B. "Statistiker", KW03 "Schlosser", KW04 "Obstimporteur", etc.
Auszugehen ist von ständig wachsenden Keywords, wobei anzunehmen ist, dass bei 1.000 Firmendatensätzen an die 5 bis 7.000 Keywords zusammen kommen.

Ziel: Jeder der z.B. 1.000 Datensätze von Firmen soll einer von z.B. 10 Gruppen zugeordnet werden, z.B. Datensatz 1=blaue Gruppe, 2=rote Gruppe, 3=grüne Gruppe, 4=blaue Gruppe... usw.

Wie gesagt, ich bin kein Statistiker, dennoch nehme ich an, dass es auch mit zufällig generierten Datensätzen funktionieren sollte. Am Ende könnten ja auch 100.000 Datensätze zur Verfügung stehen, und welche Keywords dann ein Datensatz beinhaltet ist dann ja auch vollkommen zufällig... meine ich, und falls nicht, wäre es ein Problem, denn die Datensätze liegen nicht vor, zuerst sollte bewiesen werden, dass es funktioniert... ;-)

Meine ersten Versuche mit der hierarchischen Clusteranalyse waren wohl nichts. Das Summary mit k=5 und den 300 Musterdatensätzen, siehe oben, hat folgendes Ergebnis gebracht: k1-> 296, k2->1, k3->1, k4->1, k5->1

Das Dendrogramm sieht in meinen Augen furchtbar aus, ich habe es angehängt.

LG
Mamgoo
Dateianhänge
Dendogramm 1.png
bigben
Beiträge: 2778
Registriert: Mi Okt 12, 2016 9:09 am

Re: Gruppenzuordnung von Datensätzen auf Basis von Keywords für SEO Anwendung

Beitrag von bigben »

Hi!

Die Gruppen, das fehlt noch in der Beschreibung, sollen untereinander möglichst ähnlich sein. Ist Dein Plot das Ergebnis einer Hauptkomponentenanalyse? Du solltest lieber eine Clusteranalyse mit hclust() rechnen, bei der Du nicht die Zahl der Cluster vorgeben musst.

Ein Dendrogramm nach Hierarchischer Clusteranalyse sieht so aus: http://lmgtfy.com/?q=dendrogram
Wege, eines zu plotten, stehen z. B. hier: http://www.sthda.com/english/wiki/beaut ... e-learning

Was verstehst Du unter "furchtbar aussehen"? Wenn Du Daten ohne Clusterstruktur eingibst, dann zeichnet sich in diagnostischen Plots natürlich auch keine Clusterstruktur ab. Ohne die Daten kann man schlecht sagen, ob clustern zu einem guten oder zu einem schlechten Ergebnis führt und für ein k means-clustering die Clusterzahl einfach zu raten führt nur mit Glück zum Ziel.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Mamgoo

Re: Gruppenzuordnung von Datensätzen auf Basis von Keywords für SEO Anwendung

Beitrag von Mamgoo »

Hallo Bernd,

sorry, das war natürlich nicht das Dendogramm, habe es jetzt angehängt. Wie gesagt, mit den Excel-Testdaten in meinem Eingangspost. Kannst du daraus etwas ableiten...?
bigben hat geschrieben: Di Apr 18, 2017 4:03 pm Die Gruppen, das fehlt noch in der Beschreibung, sollen untereinander möglichst ähnlich sein.
Nein, die Gruppen sollen eigentlich nicht ähnlich sein, ganz im Gegenteil.

Ich versuche das Ziel nochmals zu beschreiben: Du hast die Keywörter (>=1 und <=10) von >=1.000 Firmen-Datensätzen. Jetzt möchten wir jede Firma in eine Gruppe geben können, also entweder in die rote Gruppe, oder blaue Gruppe, etc. Ein Datensatz darf nur einer Gruppe zugeordnet sein. Wie viele Gruppen es geben soll, das hängt auch von der Anzahl der Datensätze ab, und muss mit wachsenden Daten neu festgelegt werden. Zu Beginn gehen wir mal davon aus, dass bei bis zu 1.000 Datensätzen 10 Gruppen reichen sollten.

LG,
Mamgoo
Dateianhänge
Dendogramm 1.png
bigben
Beiträge: 2778
Registriert: Mi Okt 12, 2016 9:09 am

Re: Gruppenzuordnung von Datensätzen auf Basis von Keywords für SEO Anwendung

Beitrag von bigben »

Mamgoo hat geschrieben: Di Apr 18, 2017 4:56 pmSorry, das war natürlich nicht das Dendogramm, habe es jetzt angehängt. Wie gesagt, mit den Excel-Testdaten in meinem Eingangspost. Kannst du daraus etwas ableiten...?
Die Darstellungsart, bei der nicht alle Balken bis zum Boden reichen, kenne ich nicht. Wird aber wohl nur der Übersichtlichkeit dienen. Da Du diskrete Daten hast, können nur diskrete Abstände zwischen Deinen Zeilen auftreten (1, 2, 3, 4, ... Keywords unterschiedlich). Dementsprechend entstehen regelmäßige Stufen auf der y-Achse. Deine Daten sind nicht von einem Clustergenerierenden Prozess erzeugt worden, deshalb erkennt man auch nicht wirklich eine Clusterstruktur.

Mach doch mal folgendes: Geh in Excel und lass zehn von Deinen Zeilen mit folgender Folge beginnen: 1 1 1 0 0 0 1 und zehn andere lässt Du mit folgender Folge beginnen: 0 0 0 1 1 1 1 und nochmal zehn andere mit 1 1 1 1 1 1 1 . Dann hast Du drei Gruppen à zehn Webseiten, die alle jeweils einander ähnlich sind (nämlich sich nur in den letzten drei von zehn Stellen unterscheiden), voneinander aber unterschiedlich sind. Dann lässt Du Dir nochmal ein Dendrogramm zeichnen und solltest darin die drei Cluster erkennen können.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten