Maschinelles Lernen mit R The R Bootcamp |
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…
Ö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.
Öffne ein neues R Skript. Schreibe deinen Namen, das Datum und “Modelling Wettbewerb” als Kommentare an den Anfang des Skripts.
## NAME
## DATUM
## Modelling Wettbewerb
Speichere das neue Skript unter dem Namen modelling_wettbewerb.R
im 2_Code
Ordner.
Lade die Pakete tidyverse
, caret
, party
, und partykit
.
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)
Das Ziel des Wettbewerbs ist die maximale Accuracy
in der Vorhersage, ob der Twitter User female
oder male
ist, zu erzielen.
Um am Wettbewerb teilzunehmen, reicht bis zu drei train
-Objekte (also der Output der train()
-Funktion ein).
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')
.RDS
Datei über den folgenden Link ein. Wenn der Upload nicht funktioniert, dann schicke uns das Objekt oder die Objekte per Mail.Problemtyp | Kriterium | Gütekriterium | Submission link |
---|---|---|---|
Klassifikation |
tweets (gender )
|
Accuracy | Submit candidate |
Du darfst alle Waffen in caret
s Arsenal verwenden. Versuche neue Modelle oder Tuning Parameter oder neue Präprozessierungsmethoden. Verwende alle oder nur einige Features.
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.
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. |