{"id":22614263,"url":"https://github.com/aryehky/arduino","last_synced_at":"2025-04-11T11:03:35.540Z","repository":{"id":197656030,"uuid":"699071495","full_name":"aryehky/arduino","owner":"aryehky","description":"🚀 C++ Machine Learning Project: Digit Recognition with Support Vector Machine (SVM) 🖥️  This project is a robust implementation of digit recognition using Support Vector Machine (SVM) in C++. The SVM algorithm, a powerful supervised learning technique, is employed to classify handwritten digits from the famous MNIST dataset.","archived":false,"fork":false,"pushed_at":"2024-10-24T12:43:30.000Z","size":89,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-24T17:07:14.540Z","etag":null,"topics":["cpp","data-visualization","machine-learning","preprocessing"],"latest_commit_sha":null,"homepage":"","language":"C++","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/aryehky.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":"2023-10-01T20:36:35.000Z","updated_at":"2024-10-24T12:43:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"5dcee0b4-12b0-46d3-a6ca-71c9a605824b","html_url":"https://github.com/aryehky/arduino","commit_stats":null,"previous_names":["mollybeach/arduino","aryehky/arduino"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryehky%2Farduino","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryehky%2Farduino/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryehky%2Farduino/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryehky%2Farduino/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aryehky","download_url":"https://codeload.github.com/aryehky/arduino/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248381758,"owners_count":21094525,"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":["cpp","data-visualization","machine-learning","preprocessing"],"created_at":"2024-12-08T18:08:59.131Z","updated_at":"2025-04-11T11:03:35.329Z","avatar_url":"https://github.com/aryehky.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# C++ Machine Learning Project: Digit Recognition with Support Vector Machine (SVM)\n\n## Overview\nThis project aims to implement a digit recognition system using Support Vector Machine (SVM) in C++. SVM is a powerful supervised learning algorithm used for classification tasks.\n\n## Features\n- **Dataset:** Utilize the MNIST dataset for training and testing.\n- **Preprocessing:** Implement preprocessing steps such as normalization and feature extraction.\n- **SVM Implementation:** Develop SVM classifier using libraries like LIBSVM or implement from scratch.\n- **Training:** Train the SVM model on the training dataset.\n- **Testing:** Evaluate the model's accuracy on the test dataset.\n- **Prediction:** Implement a function to predict digits based on input images.\n- **Performance Metrics:** Calculate and display metrics like accuracy, precision, and recall.\n- **User Interface (Optional):** Develop a simple CLI or GUI for interacting with the model.\n\n## Technology Stack\n- **Language:** C++\n- **Libraries:** LIBSVM (or similar for SVM implementation)\n- **Dataset:** MNIST dataset (or similar digit recognition dataset)\n- **Development Tools:** IDE like Visual Studio or Code::Blocks\n\n## Implementation Steps\n1. **Dataset Preparation:** Download and preprocess the MNIST dataset.\n2. **SVM Model Development:** Implement SVM classifier using chosen library or custom implementation.\n3. **Training:** Train the SVM model on the training dataset.\n4. **Testing and Evaluation:** Test the model on the test dataset and calculate performance metrics.\n5. **Prediction Function:** Implement a function to predict digits based on user input.\n6. **User Interface (Optional):** Develop a simple interface for easy interaction with the model.\n\n## Example Code Snippet (SVM Training)\n```cpp\n// Example using LIBSVM for SVM training\n\n#include \u003ciostream\u003e\n#include \"svm.h\"\n\nint main() {\n    // Load training data\n    svm_problem prob;\n    // Initialize prob with your training data (features and labels)\n\n    // Set SVM parameters\n    svm_parameter param;\n    svm_set_default_parameter(\u0026param);\n    param.svm_type = C_SVC;\n    param.kernel_type = RBF;\n    param.gamma = 0.5;\n\n    // Train SVM model\n    svm_model *model = svm_train(\u0026prob, \u0026param);\n\n    // Save model for future use\n    svm_save_model(\"svm_model.model\", model);\n\n    // Free memory\n    svm_free_and_destroy_model(\u0026model);\n    svm_destroy_param(\u0026param);\n\n    return 0;\n}\n.\n.\n.\n.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faryehky%2Farduino","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faryehky%2Farduino","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faryehky%2Farduino/lists"}