{"id":15136999,"url":"https://github.com/giovannisorice/mlproject","last_synced_at":"2026-04-02T01:01:23.471Z","repository":{"id":129713392,"uuid":"224208135","full_name":"GiovanniSorice/MLProject","owner":"GiovanniSorice","description":"Project for the Machine Learning course","archived":false,"fork":false,"pushed_at":"2020-04-14T15:14:38.000Z","size":5128,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T17:12:09.408Z","etag":null,"topics":["armadillo","backpropagation","conan","feedforward-neural-network","machine-learning"],"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/GiovanniSorice.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":"2019-11-26T14:13:20.000Z","updated_at":"2022-12-15T10:27:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"b6cddb41-ad3f-4066-a357-26036051e60c","html_url":"https://github.com/GiovanniSorice/MLProject","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GiovanniSorice/MLProject","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiovanniSorice%2FMLProject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiovanniSorice%2FMLProject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiovanniSorice%2FMLProject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiovanniSorice%2FMLProject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GiovanniSorice","download_url":"https://codeload.github.com/GiovanniSorice/MLProject/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiovanniSorice%2FMLProject/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31293631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: 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":["armadillo","backpropagation","conan","feedforward-neural-network","machine-learning"],"created_at":"2024-09-26T06:42:38.018Z","updated_at":"2026-04-02T01:01:23.408Z","avatar_url":"https://github.com/GiovanniSorice.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n\u003cimg src=\"https://github.com/GiovanniSorice/MLProject/blob/master/logo/neuradillo.jpg\" height=\"200\" width=\"300\"\u003e\n\n\n# Neuradillo\n\nFor the Machine Learning [course](https://esami.unipi.it/esami2/programma.php?c=42276\u0026aa=2019\u0026docente=MICHELI\u0026insegnamento=\u0026sd=0), we developed a library to build and train feedforward neural networks in C++ exploiting [Armadillo](http://arma.sourceforge.net/) numerical library.\nThe main implemented techniques are gradient descent with backpropagation, k-fold cross-validation and grid-search (parallel and sequential). Multiple activation functions are available (sigmoid, tanh, relu and linear).\nWe tested our library on [Monks datasets](https://archive.ics.uci.edu/ml/datasets/MONK%27s+Problems) and on a specific dataset given by the professor. All the tests were made with different models using one to five hidden layers.\nMore information about the project and the algorithms we implemented can be found in the [report](https://github.com/GiovanniSorice/MLProject/blob/master/docs/report/relazione.pdf). \n\n## Getting started\n\n### Prerequisites \nThe project use [Cmake 3.16](https://cmake.org/) as building system and it can be downloaded [here](https://cmake.org/download/). \nThe package manager used is [Conan](https://conan.io/). You can install it with the following commands:\n` pip install conan` \n\nRunning the following command to solve this [issue](https://docs.conan.io/en/latest/installation.html#install-with-pip-recommended): \n`source ~/.profile`  \n\n### Armadillo installation \n1. Clone the following repo: https://github.com/darcamo/conan-armadillo;\n2. Inside the cloned repo run: `conan create . armadillo/stable`\n3. If Armadillo is installed correctly an example program is execute and you can start use it [through Conan](https://docs.conan.io/en/latest/using_packages/conanfile_txt.html#requires).\n\n## Running the project\nIf CMake and Armadillo were installed correctly you have to create a directory where cmake store the configuration files needed to run the project:\n`mkdir build \u0026\u0026 cd build `\n\nInside the build folder to generate the files that are needed by Conan type: \n `conan install ..`\n\nThen the for the CMake files give: \n `cmake ..` \n\nIn the end to build the project type: \n `cmake --build .` \n\nIf all the process is done correctly a */bin* folder is created with a binary file inside. This file can be executed with:\n`./MLProject`\n\nThe error of the training set and validation set is print during the execution.\n\n## Results\nHere we show a learning curve plot we obtained during the training phase. \n \n\u003cimg src=\"/docs/report/img/Cup_loss_Reg_Zoom.png\" height=\"50%\" width=\"50%\"\u003e\n\n## Future works\n- Serialization of NN: https://www.boost.org/doc/libs/1_72_0/libs/serialization \n- Plot with matplotlibcpp: https://github.com/lava/matplotlib-cpp \n\n## Authors\n* **Giovanni Sorice**  :computer: - [Giovanni Sorice](https://github.com/GiovanniSorice)\n* **Francesco Corti** :nerd_face: :computer: - [FraCorti](https://github.com/FraCorti)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiovannisorice%2Fmlproject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgiovannisorice%2Fmlproject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiovannisorice%2Fmlproject/lists"}