{"id":23119157,"url":"https://github.com/bomada/sparkify","last_synced_at":"2026-05-05T23:32:45.047Z","repository":{"id":37067804,"uuid":"201450652","full_name":"Bomada/sparkify","owner":"Bomada","description":"This project is the final Capstone project of the Udacity Data Scientist Nanodegree program. The aim is to learn how to manipulate realistic datasets with Spark to engineer relevant features for predicting churn. Input data is related to the fictive music streaming service Sparkify (similar to Spotify and Pandora).","archived":false,"fork":false,"pushed_at":"2022-12-07T23:53:56.000Z","size":129,"stargazers_count":1,"open_issues_count":29,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T02:41:23.006Z","etag":null,"topics":["churn","ml","music","portfolio","python","spark","streaming"],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bomada.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-09T10:59:36.000Z","updated_at":"2019-09-25T20:58:34.000Z","dependencies_parsed_at":"2023-01-25T00:31:29.309Z","dependency_job_id":null,"html_url":"https://github.com/Bomada/sparkify","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Bomada/sparkify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bomada%2Fsparkify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bomada%2Fsparkify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bomada%2Fsparkify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bomada%2Fsparkify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bomada","download_url":"https://codeload.github.com/Bomada/sparkify/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bomada%2Fsparkify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32672643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["churn","ml","music","portfolio","python","spark","streaming"],"created_at":"2024-12-17T05:31:56.564Z","updated_at":"2026-05-05T23:32:45.032Z","avatar_url":"https://github.com/Bomada.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sparkify Project\nThis project is the final Capstone project of the Udacity Data Scientist Nanodegree program. The aim is to learn how to manipulate realistic datasets with Spark to engineer relevant features for predicting churn. Input data is related to the fictive music streaming service Sparkify (similar to Spotify and Pandora).\n\n# Table of Contents\n\n1. [Installation](#installation)\n2. [Project Motivation](#motivation)\n3. [File Descriptions](#files)\n4. [Project Process](#process)\n5. [Result Summary](#result)\n6. [Licensing, Authors, Acknowledgements](#licensing)\n\n# Installation \u003ca name=\"installation\"\u003e\u003c/a\u003e\nThe code should run with no issues using Python versions 3. See the requirements.txt file for details about library versions.\n\n# Project Motivation \u003ca name=\"motivation\"\u003e\u003c/a\u003e\nSince I'm a long time user of the Spotify streaming service I've wanted to test out some ideas for a while. In this project I could work with similar data and also try out Spark which is new to me.\n\n# File Descriptions \u003ca name=\"files\"\u003e\u003c/a\u003e\n- **mini_sparkify_event_data.json**: Fictious music streaming data provided by Udacity. This file is not available in the repository due to it's size.\n- **sparkify.ipynb**: Exploratory notebook with all steps necessary to build a model that predicts churn for the Sparkify data.\n\n# Project Process \u003ca name=\"process\"\u003e\u003c/a\u003e\nWhen working with this project I followed the CRISP-DM process. The details are found in the notebook and also on this blog post:\nhttps://medium.com/@marcusnilsson78/sparkify-project-write-up-5dfbaac36cc6\n\n# Result Summary \u003ca name=\"result\"\u003e\u003c/a\u003e\nThe model got a F1 score in validation of 46.2% which is not that good. As the dataset available was very small, it's hard to trust the model in it's current state. It should be trained and validated further on a greater dataset. Please see the blog mentioned above to read the complete results.\n\n# Licensing, Authors, Acknowledgements \u003ca name=\"licensing\"\u003e\u003c/a\u003e\n## Code\nSee details in licensing file.\n\n## Data\nData in the .json file cannot be used without consent from Udacity.\n\n## Acknowledgements\nBesides the Udacity training material, the following resources were of much help in this project:\n- https://mapr.com/blog/predicting-breast-cancer-using-apache-spark-machine-learning-logistic-regression/\n- https://stackoverflow.com/questions/36132322/join-two-data-frames-select-all-columns-from-one-and-some-columns-from-the-othe\n- https://stackoverflow.com/questions/38664620/any-way-to-access-methods-from-individual-stages-in-pyspark-pipelinemodel?rq=1\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbomada%2Fsparkify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbomada%2Fsparkify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbomada%2Fsparkify/lists"}