ComeçarComece de graça

Transformações de atributos

Você está discutindo o conjunto de dados de crédito com a gerente do banco. Ela sugere que as solicitações de empréstimo mais seguras tendem a pedir valores de crédito na faixa intermediária. Valores muito baixos ou muito altos indicam alto risco. Isso significa que pode existir uma relação não linear entre essa variável e a classe. Você quer testar essa hipótese. Você vai construir uma transformação não linear do atributo. Em seguida, vai avaliar qual das duas variáveis é melhor para prever a classe usando SelectKBest() e a métrica chi2(), ambos já pré-carregados.

Os dados estão disponíveis como um DataFrame do pandas chamado credit, com a classe na coluna class. Você também tem pandas pré-carregado como pd e numpy como np.

Este exercício faz parte do curso

Projetando Workflows de Machine Learning em Python

Ver curso

Instruções do exercício

  • Defina uma função que transforme um vetor numérico considerando a diferença absoluta de cada valor em relação ao valor médio do vetor.
  • Aplique essa transformação à coluna credit_amount do conjunto de dados e armazene em uma nova coluna chamada diff.
  • Crie um seletor de atributos SelectKBest() para escolher uma das duas colunas, credit_amount e diff, usando a métrica chi2().
  • Inspecione os resultados.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Function computing absolute difference from column mean
def abs_diff(x):
    return ____(x-____)

# Apply it to the credit amount and store to new column
credit['diff'] = ____

# Create a feature selector with chi2 that picks one feature
sk = ____(chi2, ____)

# Use the selector to pick between credit_amount and diff
sk.fit(____, credit['class'])

# Inspect the results
sk.____()
Editar e executar o código