{"id":33317790,"url":"https://github.com/rishieeee/spam-email-classifier","last_synced_at":"2026-05-09T05:05:08.377Z","repository":{"id":325023344,"uuid":"1099514099","full_name":"rishieeee/Spam-Email-Classifier","owner":"rishieeee","description":"A simple machine learning project that classifies emails as spam or ham using TF-IDF and a Multinomial Naive Bayes model. The project covers data cleaning, text preprocessing, feature extraction, model training, and evaluation. A great beginner-friendly introduction to NLP and ML workflows.","archived":false,"fork":false,"pushed_at":"2025-11-19T05:12:13.000Z","size":689,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-19T07:08:54.991Z","etag":null,"topics":["multinomial-naive-bayes","numpy","pandas","python","sckit-learn","tf-idf"],"latest_commit_sha":null,"homepage":"","language":"Python","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/rishieeee.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-19T04:57:57.000Z","updated_at":"2025-11-19T05:18:32.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/rishieeee/Spam-Email-Classifier","commit_stats":null,"previous_names":["rishieeee/spam-email-classifier"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/rishieeee/Spam-Email-Classifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rishieeee%2FSpam-Email-Classifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rishieeee%2FSpam-Email-Classifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rishieeee%2FSpam-Email-Classifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rishieeee%2FSpam-Email-Classifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rishieeee","download_url":"https://codeload.github.com/rishieeee/Spam-Email-Classifier/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rishieeee%2FSpam-Email-Classifier/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285299190,"owners_count":27148079,"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","status":"online","status_checked_at":"2025-11-19T02:00:05.673Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["multinomial-naive-bayes","numpy","pandas","python","sckit-learn","tf-idf"],"created_at":"2025-11-19T18:00:21.215Z","updated_at":"2025-11-19T18:01:23.245Z","avatar_url":"https://github.com/rishieeee.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Spam Email Classifier\nA complete project to classify emails as spam or ham using Python, Flask, and Machine Learning (TF-IDF + Multinomial Naive Bayes). This project includes a backend API and a frontend interface.\n\n\ngit clone https://github.com/rishieeee/spam-email-classifier.git\ncd spam-email-classifier\n\npython -m venv .venv\n\n# Windows\n.venv\\Scripts\\activate\n\n# macOS/Linux\nsource .venv/bin/activate\n\n2️⃣ Create and activate a virtual environment\n\npython -m venv .venv\n\n# Windows\n.venv\\Scripts\\activate\n\n# macOS/Linux\nsource .venv/bin/activate\n\n\n3️⃣ Install required packages\n\npip install -r requirements.txt\n\nPrepare the Dataset\n\nPlace a CSV file at data/dataset.csv.\n\nRequired columns:\n\ntext – Email content\n\nlabel – Either spam or ham\n\nExample dataset:\nlabel,text\nham,\"Hey! Are we still meeting for lunch today?\"\nspam,\"Win a brand new car! Click here to claim your prize now.\"\n\n\nTrain the Model\nFrom the backend folder, run:\n\ncd backend\npython train.py --data ../data/dataset.csv --model_dir models\n\nThis will:\n\nSplit the dataset into train/test sets\n\nTrain a TF-IDF + Multinomial Naive Bayes pipeline\n\nSave the trained model to backend/models/spam_model.pkl\n\nRun the Backend API\n\ncd backend\npython app.py\n\nThe Flask API will run at: http://127.0.0.1:5000/\n\nEndpoints:\n\n/ → Serves the frontend page (index.html)\n\n/api/predict → POST endpoint for spam/ham prediction\n\nExample POST request (JSON):\n{\n  \"text\": \"Win a FREE iPhone now! Click here\"\n}\n\nExample response:\n{\n  \"ok\": true,\n  \"prediction\": \"Spam\"\n}\n\nProject Structure\n\nspam-email-classifier/\n│\n├── backend/\n│   ├── app.py\n│   ├── train.py\n│   ├── predict.py\n│   └── models/\n│       ├── spam_model.pkl\n│       └── vectorizer.pkl\n│\n├── frontend/\n│   ├── index.html\n│   ├── style.css\n│   └── script.js\n│\n├── data/\n│   └── dataset.csv\n├── .venv/\n├── requirements.txt\n└── README.md\n\n\nNotes \u0026 Tips\n\nEnsure your Python version matches the one used during training to avoid sklearn compatibility issues\n\nFor larger datasets, consider using class weights or other classifiers like Logistic Regression or Linear SVM\n\nUse pip install --upgrade scikit-learn pandas if encountering version mismatch warnings\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frishieeee%2Fspam-email-classifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frishieeee%2Fspam-email-classifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frishieeee%2Fspam-email-classifier/lists"}