{"id":22725966,"url":"https://github.com/bhuvan588/water-quality-prediction","last_synced_at":"2026-04-09T22:42:05.866Z","repository":{"id":244695952,"uuid":"815989724","full_name":"Bhuvan588/Water-Quality-Prediction","owner":"Bhuvan588","description":"Water quality prediction using Machine Learning","archived":false,"fork":false,"pushed_at":"2024-06-16T19:10:03.000Z","size":1925,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-05T01:32:42.792Z","etag":null,"topics":["anvil","docker","fastapi","machine-learning","pca-analysis","python"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bhuvan588.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-16T18:40:08.000Z","updated_at":"2024-06-16T19:12:15.000Z","dependencies_parsed_at":"2024-06-16T20:12:10.795Z","dependency_job_id":"7120018a-b079-484f-bd9a-daffea79fdae","html_url":"https://github.com/Bhuvan588/Water-Quality-Prediction","commit_stats":null,"previous_names":["bhuvan588/water-quality-prediction"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bhuvan588%2FWater-Quality-Prediction","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bhuvan588%2FWater-Quality-Prediction/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bhuvan588%2FWater-Quality-Prediction/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bhuvan588%2FWater-Quality-Prediction/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bhuvan588","download_url":"https://codeload.github.com/Bhuvan588/Water-Quality-Prediction/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246258862,"owners_count":20748573,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["anvil","docker","fastapi","machine-learning","pca-analysis","python"],"created_at":"2024-12-10T16:15:17.144Z","updated_at":"2026-04-09T22:42:00.810Z","avatar_url":"https://github.com/Bhuvan588.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Water Quality Prediction\n\nIn this project with the help of Machine Learning, I have classified a water sample as safe or not safe based on concentration of 20 elements in the sample.\n\n\n\n## Demo\n![WhatsApp Image 2024-06-17 at 12 35 23 AM](https://github.com/Bhuvan588/Water-Quality-Prediction/assets/68458621/e9c651bf-8909-4b15-95d2-0db729cbad28)\n![WhatsApp Image 2024-06-17 at 12 35 52 AM](https://github.com/Bhuvan588/Water-Quality-Prediction/assets/68458621/6874f6f0-e68a-4ae6-9b14-9901b3e55130)\n\n\n\n\n\n\n## About\n\nFirst the dataset has been taken from Kaggle (link will be provided below). Then after using preprocessing techniques and performing data analysis, different classification models have been fitted into the dataset and a good accuracy has been achieved.\n\nThen the model has been partially deployed using Anvil - an online tool which helps you to directly connect your notebook with an interface.\n\nTaking one step further , I have downlaoded the model using joblib and then containerized it using Docker.\n## Project Structure\n- app - contains server.py (used for creating endpoints using FastAPI) and model.joblib (downloaded model)\n\n- Dockerfile - for creating container\n- client.py - Just a test file for sending data\n- requirements.txt- contains all requirements used when building container\n- water-quality-notebook.ipynb - Google colab file containing the preprocessing, data analysis and model fitting.\n- water-quality-pca.ipynb - Bonus notebook where I have applied PCA to check and retain the variance with less number of features\n## Dataset Link\n\nhttps://www.kaggle.com/datasets/mssmartypants/water-quality\n\n## Sample data you can pass at the FastAPI endpoint\n\n{\"features\":[0.940, 14.470,0.030,2.880,0.003,0.800,0.430,1.380,0.110,0.670,0.670,0.135,9.750,1.890,0.006,27.170,5.420,0.080,0.190,0.020]}\n\nOutput: 1\n## Libraries and Tools Used\n\n- Python - Programming language for ML\n- Numpy, Pandas - Used for loading and working on dataset\n- Anvil - Used for building interface\n- Docker - Used for containerization\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbhuvan588%2Fwater-quality-prediction","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbhuvan588%2Fwater-quality-prediction","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbhuvan588%2Fwater-quality-prediction/lists"}