Estrutura profissional de diretórios para projetos de IA
Organização data/, notebooks/, src/, models/, tests/ e padrão cookiecutter-data-science.
Estrutura profissional de diretórios para projetos de IA é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.
Por que a estrutura é importante
Uma pilha de notebooks chamados final.ipynb, final2.ipynb e really_final.ipynb é assim que projetos de IA morrem. Uma estrutura consistente de diretórios torna os projetos legíveis, reproduzíveis e adequados para colaboração.
Esta lição aborda a estrutura do Cookiecutter Data Science, amplamente utilizada.
A pasta data
Separe os dados por etapa de processamento para que as entradas brutas nunca sejam substituídas:
data/raw/— dados de origem originais e imutáveisdata/processed/— dados limpos e prontos para o modelodata/interim/— transformações intermediárias
Trate data/raw como somente leitura — você deve sempre conseguir regenerar todo o restante a partir dele.
Por que os dados brutos são imutáveis
Se um erro de limpeza corromper sua única cópia dos dados, o projeto estará perdido. Manter data/raw intacto significa que cada arquivo processado pode ser reproduzido executando novamente seu fluxo de processamento.
As saídas processadas são descartáveis; os dados brutos são sagrados.
A pasta notebooks
notebooks/ contém notebooks de exploração e elaboração de relatórios. Uma convenção comum é numerá-los por etapa e acrescentar as iniciais, por exemplo, 1.0-mk-eda.ipynb.
Notebooks servem para exploração; a lógica reutilizável deve ser transferida para src/.
O pacote src
src/ contém o código Python importável, dividido por responsabilidade:
src/data/— scripts de carregamento e processamentosrc/features/— engenharia de atributossrc/models/— código de treinamento e previsãosrc/visualization/— gráficos e relatórios
src/features e src/models
Manter a engenharia de atributos e a modelagem em módulos separados traz vantagens: você pode testar o código de atributos unitariamente, reutilizá-lo em vários notebooks e trocar os modelos sem reescrever a preparação dos dados.
from src.features.build_features import make_features
from src.models.train import train_model
X = make_features(df)
model = train_model(X, y)A pasta models
models/ armazena artefatos treinados serializados (por exemplo, model.pkl e model.joblib). Eles são saídas, não código-fonte.
Em geral, arquivos grandes de modelos não devem ser incluídos no Git — controle-os com DVC ou armazenamento de objetos (abordado na próxima lição).
A pasta reports
reports/ contém saídas geradas para as pessoas: reports/figures/ para gráficos e um documento de relatório no nível superior. Elas são produzidas pelo seu código, portanto podem ser regeneradas.
Arquivos de configuração e ambiente
Complete o projeto com arquivos no nível do projeto:
requirements.txtouenvironment.yml— dependênciasconfig.yaml— hiperparâmetros e caminhosREADME.md— o que é o projeto e como executá-lo.gitignore— o que o Git deve ignorar
A estrutura completa
Juntando tudo, um projeto de IA organizado tem esta aparência:
project/
data/
raw/
interim/
processed/
notebooks/
src/
data/
features/
models/
visualization/
models/
reports/
figures/
config.yaml
requirements.txt
README.mdGerando com Cookiecutter
Você não precisa criar essa estrutura manualmente todas as vezes. O modelo cookiecutter-data-science cria toda a estrutura inicial com um único comando.
# pip install cookiecutter
# cookiecutter -c v1 https://github.com/drivendata/cookiecutter-data-science
# Answer a few prompts -> full project tree createdVerificação rápida: onde ficam os dados brutos?
Você baixa um CSV original de um fornecedor de dados.
Recapitulação: estrutura do projeto
Você aprendeu a estrutura profissional de um projeto de IA:
data/raw(imutável) edata/processedpara as etapas de processamentonotebooks/para exploração,src/featuresesrc/modelspara código reutilizávelmodels/para artefatos ereports/para saídas- Configuração, dependências, README e .gitignore na raiz
- cookiecutter-data-science para criar a estrutura inicial instantaneamente
Próximo assunto: usar o Git com eficiência em projetos de IA.
Perguntas Frequentes
A aula “Estrutura profissional de diretórios para projetos de IA” é grátis?
Sim — o texto completo de “Estrutura profissional de diretórios para projetos de IA” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.
O que vou aprender em “Estrutura profissional de diretórios para projetos de IA”?
Organização data/, notebooks/, src/, models/, tests/ e padrão cookiecutter-data-science. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Learn AI with Python?
Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Estrutura profissional de diretórios para projetos de IA”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Learn AI with Python?
Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Estrutura profissional de diretórios para projetos de IA
- Git para projetos de IA
- Reprodutibilidade: sementes, configurações e ambientes
- Boas práticas para Jupyter Notebooks