Repositório didático e executável para aprendizado progressivo de Machine Learning com Python e UV.
Este repositório foi criado pelo Prof. Pablo De Chiaro para a unidade curricular FIA (Fundamentos de Inteligência Artificial). O objetivo principal é guiar os estudos fundamentais da unidade curricular, fornecendo uma base sólida e prática para o aprendizado de Machine Learning.
- 🎯 Principal: Material de apoio para a unidade curricular FIA
- 🌍 Aberto: Disponível para qualquer aluno ou professor que deseje utilizá-lo
- 🆓 Livre: Uso completamente gratuito e sem restrições
- 🤝 Colaborativo: Contribuições de novos materiais são muito bem-vindas
Nota: Embora criado para FIA, este material serve como recurso universal para o ensino e aprendizado de Machine Learning.
Você precisa do UV instalado uv.sh
## mac/linux/Windows(GitBash terminal):
curl -LsSf https://astral.sh/uv/install.sh | sh
## Windows(Powershell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
## Encerre TODOS terminais abertos!
## para verificar a instalação, rode no terminal:
uv --version# 1. Clone o repositório
git clone https://github.com/chiarorosa/machine-learning-aulas.git
cd machine-learning-aulas
# 2. Configure o ambiente
uv sync
# 3. Configure seus arquivos de exercícios
uv run scripts/setup-student.py
# 4. Abra o Jupyter Lab
uv run jupyter lab✅ Pronto! Agora você pode trabalhar nos exercícios em arquivos *_aluno.ipynb
| Módulo | Tópico |
|---|---|
| 01 | 🔧 Fundamentos e Pré-processamento |
| 02 | 🎯 Classificação |
| 03 | ✅ Validação e Otimização |
| 04 | ⚙️ Feature Engineering |
| 05 | 🔍 Aprendizado Não-Supervisionado |
| 06 | 🧠 Redes Neurais |
| 07 | 🤖 Deep Learning |
| 08 | 🎯 Projetos Práticos |
- 📖 Estude as lições:
modules/*/lessons/*.ipynb - ✏️ Faça os exercícios: Edite apenas arquivos
*_aluno.ipynb - 🧪 Teste seu código:
uv run pytest - 📊 Avalie progresso:
uv run scripts/grade_exercise.py <arquivo_aluno.ipynb> <arquivo_tests.py> - 🔄 Receba atualizações:
./update-course.sh
# Configuração inicial
uv run scripts/setup-student.py # Criar arquivos de trabalho
uv run scripts/check-structure.py # Verificar configuração
# Trabalho diário
uv run jupyter lab # Abrir Jupyter
uv run pytest # Executar testes
./update-course.sh # Receber atualizações do professor
# Avaliação
uv run scripts/grade_exercise.py \
modules/01-fundamentos/exercises/01_preprocess_aluno.ipynb \
tests/exercises/01-fundamentos_01_preprocess_tests.py- ✏️ Editar arquivos
*_aluno.ipynb - 🔄 Fazer
git commitdos seus arquivos*_aluno.ipynb - 🧪 Executar testes e scripts de avaliação
- 🚫 Editar templates originais (sem
_aluno) - 🚫 Modificar arquivos em
lessons/ - 🚫 Alterar arquivos de teste (em
tests/exercises/)
O professor pode adicionar novos conteúdos. Para receber:
./update-course.shEste script:
- 📡 Baixa novos conteúdos do professor
- 📦 Atualiza dependências
- 📚 Configura novos exercícios automaticamente
- ✅ Verifica que tudo está funcionando
Este projeto é aberto e colaborativo! Professores, alunos e entusiastas de Machine Learning são encorajados a:
- 📚 Adicionar novos módulos ou lições
- 🛠️ Melhorar exercícios existentes
- 🐛 Reportar bugs ou problemas
- 💡 Sugerir melhorias pedagógicas
- 📖 Contribuir com documentação
Consulte o Guia de Contribuição para mais detalhes.
- 👨🎓 Guia Completo do Aluno - Tutorial detalhado
- 📝 Esquema de Conteúdo - Estrutura dos módulos
- 🔧 Guia de Extensão - Para professores/contribuidores
- 🤝 Como Contribuir - Contribuições são bem-vindas
Comandos Avançados
# Desenvolvimento
uv run scripts/tasks.py setup # Configurar ambiente de dev
uv run scripts/tasks.py lint # Verificar código
uv run scripts/tasks.py test # Executar todos os testes
# Gerenciar módulos
uv run scripts/manage_tests.py enable 05-redes-neurais
uv run scripts/manage_tests.py disable 02-classificacao
uv run scripts/manage_tests.py list
# Executar notebooks
uv run scripts/run_all_notebooks.py
# Gerar datasets
uv run scripts/make_dataset_synth.py| Problema | Solução |
|---|---|
"Não tenho arquivo _aluno" |
uv run scripts/setup-student.py |
| "Conflitos no git pull" | ./update-course.sh |
| "Testes não passam" | Verifique implementação no *_aluno.ipynb |
| "Jupyter não abre" | uv sync && uv run jupyter lab |
- ⚡ Ultra-rápido: 10-100x mais rápido que pip
- 🔒 Reprodutível: Ambientes idênticos para todos
- 🌍 Multiplataforma: Windows, macOS, Linux
- 🎯 Moderno: Padrão atual da comunidade Python
🎯 Meta: Aprender ML de forma prática, progressiva e reprodutível!
🎓 Criado por: Prof. Pablo De Chiaro para FIA - Fundamentos de Inteligência Artificial
🌍 Uso Livre: Material aberto para toda a comunidade acadêmica
💡 Dúvidas? Abra uma issue ou consulte o Guia do Aluno