Skip to content

nixoletas/data_science

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Science — Curso Completo (Teoria + Prática)

Projeto alinhado às vagas de mercado em Data Engineer, Analytics e Data Science (ex.: ETL, Python, SQL, BI, Databricks, Azure). Inclui parte teórica e um projeto prático de ponta a ponta: ETL → EDA → Feature Engineering → Modelagem (ML) → Avaliação.


Estrutura do repositório

data_science/
├── README.md                 # Este arquivo
├── requirements.txt          # Dependências Python
├── config/
│   └── settings.yaml        # Configurações do projeto
├── data/
│   ├── raw/                 # Dados brutos (CSV) — gerados por generate_data
│   └── processed/           # Dados processados (Parquet) — saída do ETL
├── docs/
│   └── TEORIA.md            # Conteúdo teórico (SQL, ETL, Python, ML, BI, Cloud)
├── models/                  # Modelos treinados (.joblib)
├── notebooks/               # Jupyter notebooks
│   ├── 01_etl_ingestao.ipynb
│   ├── 02_eda_visualizacao.ipynb
│   ├── 03_feature_engineering.ipynb
│   ├── 04_modelagem.ipynb
│   └── 05_avaliacao_roc.ipynb
├── sql/
│   ├── schema.sql           # Schema relacional (Star Schema)
│   └── queries_exemplo.sql  # Consultas SQL de exemplo
└── src/
    ├── __init__.py
    ├── generate_data.py     # Gera dataset sintético (churn)
    ├── etl.py               # Pipeline ETL (load → clean → save)
    ├── features.py          # Feature engineering
    ├── train.py             # Treino do modelo (Random Forest)
    └── evaluate.py          # Métricas e avaliação

Como rodar

1. Ambiente

# Criar ambiente virtual (recomendado)
python -m venv .venv
.venv\Scripts\activate   # Windows
# source .venv/bin/activate  # Linux/Mac

# Instalar dependências
pip install -r requirements.txt

2. Gerar dados e rodar o pipeline

# Na raiz do projeto (data_science/)
python -m src.generate_data   # Gera data/raw/*.csv
python -m src.etl             # ETL → data/processed/*.parquet
python -m src.train           # Treina e salva modelo em models/

3. Notebooks

Abra o Jupyter a partir da raiz do projeto:

jupyter lab
# ou: jupyter notebook

Execute na ordem: 0102030405. O notebook 01 chama generate_data se os arquivos raw ainda não existirem.

4. SQL

Use os arquivos em sql/ para praticar em qualquer banco (SQLite, PostgreSQL, etc.). O schema.sql cria tabelas no estilo Star Schema (dimensões + fato).


Roteiro de estudos

# Onde estudar O que fazer
1 docs/TEORIA.md Ler seções 1 (SQL/modelagem) e 2 (ETL)
2 sql/ + qualquer cliente SQL Criar tabelas e rodar queries_exemplo.sql
3 notebooks/01 + src/etl.py Entender ETL: extract, transform, load
4 notebooks/02 EDA e visualização (pandas, seaborn)
5 notebooks/03 + src/features.py Feature engineering e encoding
6 notebooks/04 e 05 + src/train.py Modelagem (Random Forest), métricas e ROC
7 docs/TEORIA.md (restante) ML, governança, cloud, BI, DevOps

Ferramentas do projeto vs mercado

Projeto Mercado (vagas)
Python, pandas, scikit-learn Python, PySpark, Databricks
ETL em Python (CSV → Parquet) SSIS, Azure Data Factory, dbt
SQL (schema + queries) Snowflake, Azure SQL, consultas avançadas
Jupyter notebooks Databricks notebooks, Azure ML
Parquet Data Lake, Medallion (Bronze/Silver/Gold)

Para evoluir: adicionar PySpark, Databricks ou Azure Data Factory em um segundo projeto, mantendo esta base.


Projeto prático: Previsão de Churn

  • Objetivo: prever se um cliente vai dar churn (sim/não).
  • Dados: sintéticos (clientes, contrato, cobrança, serviços).
  • Modelo: Random Forest (classificação binária).
  • Métricas: acurácia, precisão, recall, F1, AUC-ROC; validação cruzada.

Isso cobre o fluxo típico de um projeto de Data Science e as competências pedidas nas vagas (dados, ETL, análise, ML, qualidade).

About

basics of data science

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors