1 Wprowadzenie i cel analizy

Celem mojego projektu jest przeprowadzenie klastrowania za pomocą k-means. Analiza ma na celu pogrupowanie klientów galerii handlowej, na podstawie dwóch zmiennych: Roczny dochód (Annual Income) oraz wskaźnika wydatków (spending score)

#Przygotowanie danych

#Wczytywanie pakietów

library(factoextra) library(ggplot2) library(dplyr)

#wczytanie danych mall <- read.csv(“/Users/alege/Desktop/maszynowe/Mall_Customers.csv”)

#wstępne sprawdzenie danych

head(mall) str(mall)

Wybór cech numerycznych

mall_data <- mall[, c(“Annual.Income..k..”, “Spending.Score..1.100.”)]

Skalowanie

mall_scaled <- scale(mall_data)

2 określenie optymalnej liczby klastrów

określamy za pomocą 2 metod: Elbow Method oraz silhouette szukamy punktu w którym krzywa zacznie się spłaszczać

fviz_nbclust(mall_scaled, kmeans, method = “wss”) + ggtitle(“Metoda Elbow”)

na podstawie spadku sumy kwadratów wewnątrz klastra punkt załamiania to K=5 lub K=4

Silhouette method

fviz_nbclust(mall_scaled, kmeans, method = “silhouette”) + ggtitle(“Metoda Silhouette”)

najwyższą średnią szerokość silhouettte obserwujemy w K=6, dlatego dla dalszej analizy przyjmujemy taką ilość klastrów

4 model klastrowania K-means

set.seed(123) km_res <- kmeans(mall_scaled, centers = 6, nstart = 25)

Dodanie wyników do oryginalnych danych

mall\(cluster <- as.factor(km_res\)cluster)

#4 wizualizacja

Wykres punktowy pokazuje wyraźny podział klientów na 6 grup w przestrzeni Annual Income-Spending Score

ggplot(mall, aes(x = Annual.Income..k.., y = Spending.Score..1.100., color = cluster)) + geom_point(size = 3) + scale_color_brewer(palette = “Set1”) + labs(title = “Klastrowanie klientów galerii handlowej”, x = “Roczny dochód (k$)”, y = “Spending Score”) + theme_minimal()

5 Charakterystyka segmentów

mall %>% group_by(cluster) %>% summarise( N = n(), Średni Dochód (k$) = mean(Annual.Income..k..), Średni Spending Score = mean(Spending.Score..1.100.) ) %>% knitr::kable(caption = “Charakterystyka statystyczna klastrów”)

6 Kluczowe wnioski

Na podstawienie przedstawionego wykresu stwierdzić można iż: Kolor czerwony: Dochód: niski/ Wydatki: wysokie- IMPULSYWNI/RYZYKOWNI Kolor niebieski: Dochód: niski/ Wydatki: niskie- OSZCZĘDNI/BIEDNI Kolor zielony: Dochód: wysoki/ Wydatki: b. wysokie- IDEALNI KKLIENCI Kolor fioletowy: Dochód: Średni/ Wydatki: średnie- ŚREDNIA PÓŁKA Kolor pomarańczzowy: Dochód: średni/wysoki/ Wydatki: wysokie- WYDATNI/STABILNI Kolor żółty: Dochód: bardzo wysoki/ Wydatki: niskie- OSTROŻNI/ZAMOŻNI

Taka analiza idealnie sprawdzi się w marketingu lub będzie bardzo przydatna dla właśnicieli sklepów/ galerii, ponieważ będą dzięki niej wiedzieć do jakich grup klientów i jak najlepiej dotrzeć.