Sistema inteligente de classificação e recomendação de títulos da Netflix com aplicação Full Stack.
- Classifica se um título é Filme ou Série
- Recomenda títulos similares com base em conteúdo (elenco, país e categorias)
- Aplicação Full Stack (Flask + HTML/CSS com Bootstrap)
- Testes automatizados com PyTest
- Documentação da API com Swagger
- Python (Flask, Scikit-learn, Pandas, NumPy)
- Bootstrap 5
- PyTest
- Swagger
- Classificação com:
- KNN
- Decision Tree
- Naive Bayes
- SVM
- Pipeline de pré-processamento
- Otimização de hiperparâmetros com
GridSearchCV(que por baixo dos panos usa cross_val_score) - Avaliação com cross-validation
- Sistema de recomendação baseado em similaridade de cosseno usando TF-IDF
mvp-netflix-iq/
├── api/ # Back-end Flask
│ ├── app.py
│ └── MachineLearning/ # Machine Learning
│ ├── models/
│ ├── notebook/
│ └── test/
├── web/ # Front-end com Bootstrap
│ ├── index.html
│ └── script.js
├── .gitignore
└── README.mdPara que a aplicação funcione corretamente, é necessário ter os arquivos .pkl gerados pelo processo de machine learning.
Acesse o link abaixo para baixar os arquivos já treinados:
➡️ Google Drive - Modelos treinados (.pkl)
Após o download, mova todos os arquivos .pkl para o seguinte diretório:
api/MachineLearning/modelsSe preferir (ou quiser treinar novamente), você pode executar os notebooks disponíveis no projeto. Eles irão:
- Treinar os modelos do zero;
- Exportar automaticamente os arquivos
.pklpara a pastamodels.
- Crie e ative o ambiente virtual.
Windows
python -m venv venv
venv\Scripts\activatemacOS/Linux
python -m venv venv
source venv/bin/activate- Entre no diretório do back-end
cd api/- Instale as dependências
pip install -r requirements.txt- Inicie o servidor
python app.pyTestes com PyTest para verificar a acurácia mínima do modelo antes do deploy.
- Instale o PyTest (caso ainda não tenha)
pip install pytest- Execute os testes
cd api/MachineLearning/test
pytest test_modelo.py