1.1.0 • Published 4 years ago
fjt-walter v1.1.0
Walter : AI NodeJS/C++ Addon
Warning : This project is a student project part. It's not intended for public usage !
This project is a linear regression implementation used by an API. It predicts the number of particiants for a specific event depending on the day of the week, number of animators and type of event.
This project is deployed to NPM and consumed by the API as a node_module
Requirements
- Docker v19.03.8 or more is hightly recommended
Setup and usage
This project is not usable standalone, but for development purposes, you can use the "Infra" project and run the following commands :
docker-compose build walter
docker-compose up walter
Structure
This project is a NodeJS N-API-based wrapper for a C++ AI. It's structured as below :
src/
|-- index.cpp The bridge file between NodeJS and C++
|-- walter.cpp The AI main file
binding.gyp The build descriptor file for the NodeJS module
index.js The NodeJS module entry file
```
## Explanations
There are two functions exposed :
- generateCoefMatrix
- predict
##### generateCoefMatrix :
It is used to create the coefficient matrix which will be stored as file. It takes as arguments :
- A vector of vector which contains the number of animators, the day of the week in int (monday = 0) and the type of event in int.
- A vector with the number of participants in the event
##### predict :
It is used to predict the number of participants in an event. The generateCoefMatrix function must already be executed because it uses the generated coefficient matrix. It takes as argument :
- the number of animators
- the day of the week in int (monday = 0)
- the type of event in int
The different types of events are :
- "Sport"
- "Art"
- "Débat"
- "Cuisine"
- "Jeux"
- "Autre"