Classificação: engenharia de atributos

Praticando perguntas de entrevista de Machine Learning em Python

Lisa Stuart

Data Scientist

Engenharia de atributos... por quê?

  • Extrai informações extras dos dados
  • Cria atributos relevantes adicionais
  • Uma das formas mais eficazes de melhorar modelos preditivos
Praticando perguntas de entrevista de Machine Learning em Python

Benefícios da engenharia de atributos

  • Maior poder preditivo do algoritmo
  • Faz seus modelos de machine learning performarem ainda melhor!
Praticando perguntas de entrevista de Machine Learning em Python

Tipos de engenharia de atributos

  • Variáveis indicadoras
  • Atributos de interação
  • Representação de atributos
Praticando perguntas de entrevista de Machine Learning em Python

Variáveis indicadoras

  • Indicador por limite
    • idade: ensino médio vs faculdade
  • Múltiplos atributos
    • usado como flag
  • Eventos especiais
    • Black Friday
    • Natal
  • Grupos de classes
    • flag de tráfego pago no site
      • Google Ads{4}}
      • Facebook Ads
Praticando perguntas de entrevista de Machine Learning em Python

Atributos de interação

  • Soma
  • Diferença
  • Produto
  • Quociente
  • Outras combinações matemáticas
Praticando perguntas de entrevista de Machine Learning em Python

Representação de atributos

  • Datetime stamps
    • Dia da semana
    • Hora do dia
  • Agrupar níveis categóricos em "Outros"
  • Transformar categóricas em dummies
    • (k - 1) colunas binárias
Praticando perguntas de entrevista de Machine Learning em Python

Níveis categóricos diferentes

  • Dados de treino:
    • modelo treinado com [red, blue, green]
  • Dados de teste:

    • modelo testado com [red, green, yellow]
    • cor extra não vista no treino
    • uma cor ausente
  • One-hot encoding robusto

1 https://blog.cambridgespark.com/robust-one-hot-encoding-in-python-3e29bfcec77e
Praticando perguntas de entrevista de Machine Learning em Python

Relação dívida/renda

  • Monthly Debt
  • Annual Income/12
Praticando perguntas de entrevista de Machine Learning em Python

Funções para engenharia de atributos

Function retorna
sklearn.linear_model.LogisticRegression regressão logística
sklearn.model_selection.train_test_split função de divisão treino/teste
sns.countplot(x='Loan Status', data=data) gráfico de barras
df.drop(['Feature 1', 'Feature 2'], axis=1) remove lista de atributos
df["Loan Status"].replace({'Paid': 0, 'Not Paid': 1}) Loan Status como inteiros
pd.get_dummies() k - 1 atributos binários
sklearn.metrics.accuracy_score(y_test, predict(X_test)) acurácia do modelo
Praticando perguntas de entrevista de Machine Learning em Python

Um excelente tutorial:

Praticando perguntas de entrevista de Machine Learning em Python

Vamos praticar!

Praticando perguntas de entrevista de Machine Learning em Python

Preparing Video For Download...