library(tidyverse) # Aufgabe 1 combine_df = read_csv('https://github.com/NikoStein/dma_data/raw/main/combine.csv') #a) Wählen Sie geeignete Variablen aus und clustern Sie die Daten mittels kMeans um # Positionen mit ähnlichen Anforderungen an die Spieler zu identifizieren. combine_df %>% ggplot(aes(x=weight_kg, y=x40yd)) + geom_point(alpha=0.2) + theme_bw() combine_df %>% select(-bench) %>% na.omit() -> combine_df combine_df %>% select(height_in, weight_kg, vertical_cm, broad_jump_cm, x3cone, shuttle, x40yd) %>% scale() %>% kmeans(centers = 8, nstart = 10) -> clustering combine_df$cluster = clustering$cluster clustering$centers combine_df %>% group_by(cluster, position) %>% tally() %>% ggplot(aes(x=position, y=as.factor(cluster), size=n)) + geom_point() + theme_bw() combine_df %>% ggplot(aes(x=position, fill=as.factor(cluster))) + geom_bar(position='fill') + theme_bw() #b) Versuchen Sie die Daten mittels hierarchischem Clustering zu gruppieren und vergleichen Sie die Ergebnisse. combine_df %>% select(height_in, weight_kg, vertical_cm, broad_jump_cm, x3cone, shuttle, x40yd) %>% scale() %>% dist(method='manhattan') -> dist_mat hclust_complete = hclust(dist_mat, method='average') plot(hclust_complete) cut_complete = cutree(hclust_complete, k=3) combine_df$cluster = cut_complete combine_df %>% ggplot(aes(x=position, fill=as.factor(cluster))) + geom_bar(position='fill') + theme_bw() # Aufgabe 2 mall_df = read_csv('https://github.com/NikoStein/dma_data/raw/main/Mall_Customers.csv') # a) Clustern Sie die Kunden mittels des kMeans Algorithmus. # b) Testen Sie verschiedene Anzahlen an Clustern. Welche Anzahl erscheint Ihnen sinnvoll?