This is a web app where you can draw a letter in the russian alphabet and the ML algorithm will predict the letter that you drew.
Little overview
You can visit the web page in the following links:
Python 3.7 required
Use the package manager pip to install all the requirements.
pip install -r requirements.txt
Then to execute the app to:
streamlit run app.py
Python 3.7 required
Use the package manager conda to install the same virtual environment that I used, this command will create a new virtual environment with the same libraries that I used:
conda env create -f my_environment.yml
Then to execute the app to:
streamlit run app.py
In the file "clasificador cirilico.ipynb" you will find all the steps that I did to create a SVM classifier.
This jupyter notebook will generate the following files:
- feature_matrix.pkl
- model.pkl
- pca.pkl
- sc.pkl
This files are necessary for the streamlit app to work, in this files I stored the SVM model, the StandardScaler and the PCA, so I don't need to train the model every time that the model needs to predict one letter
The file "feature_matrix.pkl", it is where I to stored all the features off the images, with this files i dont have to wait to loop through the images every time I restart the kernel.
The file "generador dataframe cirilico.ipynb" is it used to generate the dataframe for the images themself.
The following files are just for the heroku deployment:
- setup.sh
- Procfile
- runtime.txt
The dataset comes from Thanks to This GitHub