Überblick

Demonstriere dein Können im maschinellen Lernen in einem Modelling Wettbewerb. Sage das Geschlecht eines Tweeters auf Basis von Meta Informationen vorher und gewinne 🍫🍫🍫.

Der Wettbewerb läuft noch…

Wettbewerb

A - Setup

  1. Öffne dein TheRBootcamp R project. Es sollte die Ordner 1_Data und 2_Code enthalten. Stelle sicher, dass du alle Datensätze, welche im Datensätze Tab aufgelisted sind, in deinem 1_Data Ordner hast.

  2. Öffne ein neues R Skript. Schreibe deinen Namen, das Datum und “Modelling Wettbewerb” als Kommentare an den Anfang des Skripts.

## NAME
## DATUM
## Modelling Wettbewerb
  1. Speichere das neue Skript unter dem Namen modelling_wettbewerb.R im 2_Code Ordner.

  2. Lade die Pakete tidyverse, caret, party, und partykit.

  3. Mit dem Code unten lade den tweets Datensatz und ändere character in factor.

# Lade tweets daten
tweets <- read_csv(file = "1_Data/tweets_train.csv")

# Ändere character zu factor
tweets <- tweets %>% mutate_if(is.character, as.factor)

B - Wettbewerbsregeln

  1. Das Ziel des Wettbewerbs ist die maximale Accuracy in der Vorhersage, ob der Twitter User female oder male ist, zu erzielen.

  2. Um am Wettbewerb teilzunehmen, reicht bis zu drei train-Objekte (also der Output der train()-Funktion ein).

  3. Um ein train-Objekt einzureichen, speichert es zuerst als .RDS-Datei, die ihr benennt mit PSEUDONYM_VERSION.RDS, wobei ihr PSEUDONYM mit einem selbstgewählten Pseudonym ersetzt und VERSION mit einer selbstgewählten Beschreibung des verwendeten Ansatzes. Siehe den Code unten.

# Fitte Modell
my_train <- train(...)

# Speichere train Objekt
saveRDS(my_train,'1_Data/PSEUDONYM_VERSION.RDS')
  1. Reiche deine .RDS Datei per Mail ein.
Problemtyp Kriterium Gütekriterium Submission link
Klassifikation tweets (gender) Accuracy Submit candidate
  1. Du darfst alle Waffen in carets Arsenal verwenden. Versuche neue Modelle oder Tuning Parameter oder neue Präprozessierungsmethoden. Verwende alle oder nur einige Features.

  2. Was du nicht darfst, ist neue Variablen zu erstellen. Ansonsten können wir nämlich später dein Modell nicht mit anderen vergleichen. D.h. alle Manipulationen der Features (jenseits deren Eliminiation z.B. dadurch, dass nur bestimmte Features in der Formula für die Vorhersage ausgewählt werden) müssen über das preProcess-Argument der train() Funktion durchgeführt werden.

Datensatz

Datei Zeilen Spalten
tweets.csv 2500 23

Der tweets.csv Datensatz ist ein (stark) vor-verarbeiteter Ausschnitt dieses Datensatzes von Kaggle.

Name Beschreibung
gender Das Kriterium. Ob die tweetende Person männlich (male) oder weiblich (female) ist.
year_created Das Jahr in dem der Twitter Account erstellt wurde.
hour_created Die Stunde des Tages (1:24h) in der der Twitter Account erstellt wurde.
tweet_count Die Anzahl der Tweets, die über den Account gepostet wurden.
retweet_count Die Anzahl der Retweets, die über den Account gepostet wurden.
user_timezone Die Zeitzone des Accounts relativ zu GMT.
name_nchar Die Anzahl der Buchstaben im Namen des Accounts.
name_male 1, wenn der Account Name einen der 1,000 Häufigsten männlichen Babynamen in Amerika enthält, ansonsten 0.
name_female 1, wenn der Account Name einen der 1,000 Häufigsten weiblichen Babynamen in Amerika enthält, ansonsten 0.
descr_nchar Die Anzahl der Buchstaben im Namen Description Feld des Accounts
descr_male 1, wenn das Description Feld des Accounts einen der 1,000 häufigsten männlichen Babynamen in Amerika enthält, ansonsten 0.
descr_female 1, wenn das Description Feld des Accounts einen der 1,000 häufigsten weiblichen Babynamen in Amerika enthält, ansonsten 0.
descr_sent Durchschnittlicher Sentiment Score (>0 = positives Sentiment) des Texts im Description Feld des Accounts.
tweet_nchar Die Anzahl der Buchstaben in einem zufällig ausgewählten Tweets des Accounts.
tweet_male 1, wenn der zufällig ausgewählte Tweet einen der 1,000 häufigsten männlichen Babynamen in Amerika enthält, ansonsten 0.
tweet_female 1, wenn der zufällig ausgewählte Tweet einen der 1,000 häufigsten weiblichen Babynamen in Amerika enthält, ansonsten 0.
tweet_sent Durchschnittlicher Sentiment Score (>0 = positives Sentiment) des Texts zufällig ausgewählte Tweets.
linkcol_red Rotwert (1:255) in der Linkfarbe des Accounts.
linkcol_green Grünwert (1:255) in der Linkfarbe des Accounts.
linkcol_blue Blauwert (1:255) in der Linkfarbe des Accounts.
sidecol_red Rotwert (1:255) in Seitenbande des Accounts.
sidecol_green Grünwert (1:255) in Seitenbande des Accounts.
sidecol_blue Blauwert (1:255) in Seitenbande des Accounts.

Cheatsheet

Trulli
from github.com/rstudio