

Globalna Grupa ABD
Globalna Grupa jest jak rynek, na którym możemy się wszyscy spotkać. To tutaj możemy podzielić się... View more
Zadanie tygodnia: Spotify
-
Zadanie tygodnia: Spotify
Hej! W poniedziałek weszło nowe zadanie tygodnia. To pierwszy raz, gdy robimy kod w ramach zadań tygodnia:-). Pomyślałem, że rozgrzebię je nieco tutaj, w dyskusji – może to komuś pomoże. Jeśli macie pytania albo swoje spostrzeżenia, zapraszam:-)
Na początek przypomnijmy polecenie:
Zbadać jaki jest związek między subskrypcją a intensywnością korzystania ze Spotify
Dataset można znaleźć na Kaggle (tenl link).
Jak wygląda ten dataset:
- Najważniejsza rzecz: wiersz per user. Łącznie jest ~8000 użytkowników.
- Mamy tam 12 wierszy. Poniżej wszystkie, a zaznaczyłem te które moim zdaniem się przydadzą:
user_id → Unikatowy ID użytkownika
gender → płeć (Male/Female/Other)
age → wiek
country → państwo (np. DE, US)
[!] subscription_type → typ subskrypcji (Free, Premium, Family, Student) – to nam się przyda!
[!] listening_time → Liczba minut (dziennie) spędzonych na słuchaniu – to nam się przyda!
[!] songs_played_per_day → Liczba piosenek puszczonych dziennie
[!] skip_rate → Procent “przeskoczonych” piosenek dziennie
device_type → Rodzaj urządzenia (Mobile, Desktop, Web)
ads_listened_per_week → Liczba piosenek przesłuchanych tygodniowo
offline_listening → Użycie trybu offline.
is_churned → czy jest aktywny, czy nie (0 = Active, 1 = Churned)
-
To jest format CSV! A więc gdy zrobiły w sparku proste “spark.read.csv(‘ścieżka’)” – będziemy mieli problem. Po pierwsze: nie będziemy mieli nazw kolumn. Po drugie – wszystkie kolumny będą stringami. Jak rozwiązać ten problem? Np. tak jak na moim screenie
Małe podpowiedzi:
- Warto poświęcić chwilkę na przejrzenie danych. Standardowo radzę tu przynajmniej wywołać funkcje “.show()” (pokaże nam 20 pierwszych wierszy) oraz “.printSchema()” (pokaże schemat razem z typami). Polecam także porobić trochę prostych groupBy.count() – da to nieco bardziej precyzyjne zrozumienie jaka jest struktura. Nie chodzi tylko o odpowiedź na twarde pytania, ale też o to, żeby dane “usiadły” w naszej głowie.
- Warto zastanowić się w jaki sposób sprawdzić związek między subskrypcją a np. liczbą puszczonych piosenek dziennie. Pogrupujemy oczywiście po subskrypcji, ale co potem – średnia? Mediana?
- Wreszcie – warto przemyśleć jak zbierzemy odpowiedzi w jednym miejscu. Może to crossjoin na tych malutkich DFach? Albo coś jeszcze innego?
Tak czy inaczej – powodzenia! Dajcie znać jakie kolumny jeszcze warto przepadać i jakie wzorce można tu znaleźć, których nie widać na pierwszy rzut oka;-).
Jeśli macie pytania lub jakiekolwiek rozwiązania – też tu wrzucajcie!
Powodznia!
-
This discussion was modified 5 days, 9 hours ago by
Marek Czuma.
Sorry, there were no replies found.
Zaloguj się aby odpowiedzieć