{"id":30575863,"url":"https://github.com/prakashjha1/sensor-based-human-intervention-detection","last_synced_at":"2026-04-11T19:06:09.635Z","repository":{"id":312121643,"uuid":"1046404338","full_name":"prakashjha1/Sensor-Based-Human-Intervention-Detection","owner":"prakashjha1","description":"Objective: Develop an on-device machine-learning model for Android that  classifies sensor sequences into four scenarios; walking, handheld still, on-desk  with interaction, and on-desk idle using sensor data.","archived":false,"fork":false,"pushed_at":"2025-08-28T16:48:37.000Z","size":591,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-28T23:30:11.638Z","etag":null,"topics":["classification","feature-engineering","feature-extraction","lightgbm","machine-learning-algorithms","matplotlib","neural-networks","pandas","python3","scikit-learn","tensorflow"],"latest_commit_sha":null,"homepage":"","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/prakashjha1.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-28T16:29:03.000Z","updated_at":"2025-08-28T16:50:57.000Z","dependencies_parsed_at":"2025-08-28T23:30:47.282Z","dependency_job_id":"d70a5881-1a81-4d87-b99c-d567b8b6cf37","html_url":"https://github.com/prakashjha1/Sensor-Based-Human-Intervention-Detection","commit_stats":null,"previous_names":["prakashjha1/sensor-based-human-intervention-detection"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/prakashjha1/Sensor-Based-Human-Intervention-Detection","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prakashjha1%2FSensor-Based-Human-Intervention-Detection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prakashjha1%2FSensor-Based-Human-Intervention-Detection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prakashjha1%2FSensor-Based-Human-Intervention-Detection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prakashjha1%2FSensor-Based-Human-Intervention-Detection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prakashjha1","download_url":"https://codeload.github.com/prakashjha1/Sensor-Based-Human-Intervention-Detection/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prakashjha1%2FSensor-Based-Human-Intervention-Detection/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272590050,"owners_count":24960852,"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-08-28T02:00:10.768Z","response_time":74,"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":["classification","feature-engineering","feature-extraction","lightgbm","machine-learning-algorithms","matplotlib","neural-networks","pandas","python3","scikit-learn","tensorflow"],"created_at":"2025-08-29T00:38:14.123Z","updated_at":"2025-12-30T21:35:33.839Z","avatar_url":"https://github.com/prakashjha1.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sensor Data Classification Pipeline\n\nA comprehensive machine learning pipeline for classifying human motion patterns using sensor data. The system supports multiple classification algorithms, automated feature selection, hyperparameter optimization, and mobile deployment through TensorFlow Lite conversion.\n\n## 🚀 Features\n\n- **Multi-Algorithm Support**: Decision Tree, Random Forest, LightGBM, Neural Network\n- **Automated Feature Engineering**: Rolling statistics, magnitude, and rate features\n- **Feature Selection**: Recursive Feature Elimination with Cross-Validation (RFECV)\n- **Hyperparameter Optimization**: Grid search with cross-validation\n- **Mobile Deployment**: TensorFlow Lite model conversion for Android\n- **Comprehensive Evaluation**: Per-class metrics, confusion matrices, and performance analysis\n\n### Prerequisites\n\n```bash\nPython 3.8+\n```\n\n### Required Dependencies\n\n```bash\npip install pandas numpy scikit-learn lightgbm tensorflow matplotlib seaborn joblib\n```\n## 📁 Output Files\n\nThe pipeline generates a timestamped results directory with the following files:\n\n```\nmodel_results_YYYYMMDD_HHMMSS/\n├── best_model.pkl                    # Best performing model\n├── feature_selector.pkl              # Feature selection transformer\n├── scaler.pkl                        # Data scaler (if needed)\n├── test_predictions.csv              # Predictions on test set\n├── results_summary.json              # Comprehensive results\n├── [ModelName]_model.tflite         # TensorFlow Lite model\n└── confusion_matrix_[ModelName].png  # Confusion matrices\n```\n### Results Summary Structure\n\n```json\n{\n  \"timestamp\": \"20250828_143022\",\n  \"best_model_name\": \"Random Forest\",\n  \"best_model_score\": 0.9456,\n  \"model_comparison\": {\n    \"Random Forest\": {\n      \"accuracy\": 0.9456,\n      \"auc_score\": 0.9678,\n      \"model_size_kb\": 145.2,\n      \"needs_scaling\": false\n    }\n  },\n  \"files_created\": {\n    \"predictions\": \"test_predictions.csv\",\n    \"best_model\": \"best_model.pkl\",\n    \"tflite_model\": \"Random_Forest_model.tflite\",\n    \"tflite_size_kb\": 89.3\n  }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprakashjha1%2Fsensor-based-human-intervention-detection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprakashjha1%2Fsensor-based-human-intervention-detection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprakashjha1%2Fsensor-based-human-intervention-detection/lists"}