ComeçarComece de graça

Particionamento

Para avaliar um modelo corretamente, você pode particionar os dados em conjuntos de treino e teste. O conjunto de treino contém os dados usados para construir o modelo, e o conjunto de teste é usado para avaliá-lo. Essa divisão é feita aleatoriamente, mas quando a incidência do alvo é baixa, pode ser necessário estratificar, ou seja, garantir que os conjuntos de treino e teste tenham a mesma porcentagem de alvos.

Neste exercício, você vai particionar os dados com estratificação e verificar se os conjuntos de treino e teste têm a mesma incidência do alvo. O método train_test_split já foi importado, e os DataFrames X e y estão disponíveis no seu ambiente de trabalho.

Este exercício faz parte do curso

Introdução à Análise Preditiva em Python

Ver curso

Instruções do exercício

  • Estratifique esses DataFrames usando o método train_test_split. Garanta que os conjuntos de treino e teste tenham o mesmo tamanho e a mesma incidência do alvo.
  • Calcule a incidência do alvo no conjunto de treino. Isso é o número de alvos no conjunto de treino dividido pelo número de observações no conjunto de treino.
  • Calcule a incidência do alvo no conjunto de teste.

Exercício interativo prático

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

# Load the partitioning module
from sklearn.model_selection import train_test_split

# Create DataFrames with variables and target
X = basetable.drop("target", 1)
y = basetable["target"]

# Carry out 50-50 partititioning with stratification
X_train, X_test, y_train, y_test = ____(X, y, test_size = ____, stratify = ____)

# Create the final train and test basetables
train = pd.concat([X_train, y_train], axis=1)
test = pd.concat([X_test, y_test], axis=1)

# Check whether train and test have same percentage targets
print(round(sum(train[____])/len(____), 2))
print(round(sum(test[____])/len(____), 2))
Editar e executar o código