2016-04-07 15 views
-4

Ich versuche, den Filmdatensatz zu gruppieren, der mit dem Paket "ggplot2" in R kommt. Ich werde k-means verwenden. Die Spaltennamen, die mit diesem Datensatz kommt, sind:K-bedeutet Clustering mit vordefiniertem Dataset

[1] "title"  "year"  "length"  "budget"  "rating"  
[6] "votes"  "r1"   "r2"   "r3"   "r4"   
[11] "r5"   "r6"   "r7"   "r8"   "r9"   
[16] "r10"   "mpaa"  "Action"  "Animation" "Comedy"  
[21] "Drama"  "Documentary" "Romance"  "Short" 

Würden Sie denken, es ist eine gute Idee Clustering zu tun, basierend auf dem Film-Genre? Ich bin irgendwie verloren und weiß nicht, wo ich anfangen soll. Irgendein Rat ?

+0

Es ist nicht klar, was Sie erreichen möchten – epo3

+0

Ich versuche nur, einige Ideen einzubringen, um mehr darüber zu wissen, was Clustering ist und tut. Wie würden Sie in diesem Fall des Datensatzes Cluster machen und welche Fragen hätten Sie? – Yahyaotaif

Antwort

1

Sie müssen herausfinden, was einen guten Cluster ausmacht.

Es gibt Millionen von Möglichkeiten, diesen Datensatz zu clustern. Da Sie die Daten unterschiedlich vorverarbeiten können, verwenden Sie andere Algorithmen, Abstände und so weiter.

Ohne Ihre Anleitung wird der Clustering-Algorithmus nur etwas tun und wahrscheinlich ein völlig nutzloses Ergebnis zurückgeben!

Sie müssen also zuerst ein klares Ziel bekommen: Was ist ein gutes Clustering?

Dann können Sie versuchen, die Daten so anzupassen, dass die Clustering-Algorithmen für dieses Ziel optimieren. Für k-means müssen Sie all dies in der Vorverarbeitung tun. Für hclust können Sie auch Distanzfunktionen auswählen, die Ihren Wünschen entsprechen.

1

Um Ihre erste Frage zu beantworten: Ja, ich denke, dass dies ein interessantes Projekt ist. Die Arbeit mit diesem Dataset könnte eine gute Möglichkeit sein, sich über verschiedene Data-Mining-Techniken zu informieren.

Um Ihre zweite Frage zu beantworten, hier ein paar Tipps. Clustering ist eine unüberwachte Lernmethode. Das Lernen wird nicht überwacht, wenn die Zielvariable (in diesem Fall ist die Zielvariable möglicherweise das Genre des Films) unbekannt ist. Wenn Sie sich jedoch die Spalten ansehen, die Sie aufgelistet haben, scheint es, als hätten Sie die Genre-Informationen. In diesem Sinne haben Sie zwei Möglichkeiten. Erstens könnte man so tun, als hätte man die Genre-Information nicht. In diesem Fall würden Sie k-means auf die restlichen Daten anwenden. Nachdem das Clustering abgeschlossen ist, können Sie durch Vergleich mit dem bekannten Genre bewerten, wie gut der Algorithmus ist. Zweitens könnten Sie dieses Problem als Klassifizierungsproblem behandeln. In diesem Fall würden Sie die Genre-Informationen verwenden, um ein Modell zu erlernen, das das Genre vorhersagen kann. Vielleicht kennst du das schon, aber ich wollte es nur sagen.

Um Ihnen ein paar Tipps zum Clustering-Problem zu geben, möchte ich zuerst wissen, was die Variablen 'r1', ..., 'r10' darstellen. Sind sie numerische oder kategorische Variablen? K-Means hat zwei Schritte: einen, bei dem Sie Datenpunkte dem Schwerpunkt zuweisen, der ihm am nächsten liegt, und einen, bei dem Sie den neuen Schwerpunkt berechnen, indem Sie den Mittelwert aller Datenpunkte in einem Cluster berechnen. Macht es Sinn, das Mittel dieser Variablen zu nehmen?

In diesem Sinne würde ich empfehlen, zuerst die Variablen auszuwählen, die Sie im Clustering-Algorithmus verwenden möchten. Schreiben Sie dann die folgenden Funktionen: eine, die den Abstand zwischen zwei Punkten berechnen kann, eine, die dem nächsten Schwerpunkt eine Beobachtung zuweisen kann, und eine, die basierend auf den Zuweisungen die Schwerpunkte neu berechnen kann.

+0

Danke Michael. Das verdeutlicht einige der Zweifel. Um Ihre Frage zu beantworten: r1-10. Durch Multiplizieren mit zehn ergibt sich ein Perzentil (auf die nächsten 10%) der Nutzer, die diesen Film als 1 bewertet haben. – Yahyaotaif