/ds-points

Projeto de Dados para Data Science do início ao fim

Primary LanguagePythonOtherNOASSERTION

Data Science & Points

CC BY-NC-SA 4.0

teomewhy-A-little-child-wizard-wearing-a-purple-cloak-using-h-d359021c-4186-4e11-9693-a6e4f1b1b7c5-3

Projeto de aplicação em Data Science do início ao fim. Um pipeline completo para solução de dados.

Este material está sob a licença: Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

CC BY-NC-SA 4.0

Sobre

Coinstruimos uma solução de Data Science, aplicando técnicas de Machine Learning para um problema de negócios específico.

Tudo foi desenvolvido ao vivo no canal Téo Me Why e disponibilizado para nossos Subs da Twitch e Membros do YouTube.

Assina aqui: Twitch / YouTube

Contexto

Temos os dados de nossos usuários de sistema de pontos do canal. Com base nisso, desejamos identificar ações e produtos de dados que aumentem o engajamento de nossos usuários.

Assim, pensamos em construir um projeto de Data Science que aborde todas as etapas necessárias para construção de um produto de dados.

Etapas

  • Construção de Feature Store;
  • Processamento das safras;
  • Construção da variável resposta;
  • Construção da ABT (Analytical Base Table);
  • Treinamento de modelos preditivos;
  • Deploy;

Pré-requisitos

Disciplinas

Para ter uma melhor experiência com nosso projeto, vale a pena conferir as seguintes playlists totalmente gratuitas:

Materiais

Softwares

Setup

Com as ferramentas necessários instaladas, podemos criar nosso enviroment a partir do Anaconda (conda):

conda create --name ds_points python=3.
conda activate ds_points

pip install -r requirements.txt

Desafio

Durante o nosso curso realizamos o treinamento de um modelo Random Forest com GridSearch. A partir deste modelo, obtivemos as seguintes métricas:

Base Acurárica Curva Roc Precisão Recall
Train 0.819401 0.913987 0.770598 0.845745
Test 0.747634 0.817416 0.684848 0.801418
Oot 0.741602 0.814528 0.669291 0.594406

Utilize os dados deste link para tentar melhorar a performance do modelo na base Out of Time (oot).

Considere:

target = 'flChurn'
features = df_train.columns[3:].tolist()

# Dataframe oot
df_oot = df[df['dtRef']==df['dtRef'].max()]

# Dataframe de treino
df_train = df[df['dtRef']<df['dtRef'].max()]

X_train, X_test, y_train, y_test = model_selection.train_test_split(df_train[features],
                                                                    df_train[target],
                                                                    random_state=42,
                                                                    train_size=0.8,
                                                                    stratify=df_train[target])

Sobre o autor

Téo é um entusiasta do universo de dados, traz consigo uma rica jornada nas esferas de Data Science e Analytics. Como líder, destacou-se na condução estratégica de equipes, liderando pessoas e projetos de Advanced Analytics. Sua visão inovadora, não apenas transformou a cultura organizacional, mas também impulsionou a implementação de diversos projetos de dados, integrando de maneira eficiente áreas cruciais da empresa.

Além de suas realizações profissionais, Teo nutre uma paixão dedicada à democratização do conhecimento na área de dados e tecnologia. Por meio de sua iniciativa educacional, Téo Me Why, ele compartilha insights valiosos, promove treinamentos envolventes e disponibiliza material autoral, alcançando uma audiência global. Sua abordagem acessível e inspiradora tem impactado milhares de entusiastas, tornando o aprendizado sobre dados mais inclusivo e estimulante.

Apoie essa inciativa!

Realizamos um trabalho de educação na área de dados de forma gratuita, então todo apoio é importante. Confira as diferentes maneiras de nos apoiar: