Ajustando sua Random Forest para detecção de fraude
Neste exercício, você vai explorar as opções do classificador de random forest, pois vamos atribuir pesos e ajustar o formato das árvores de decisão na floresta. Você vai definir os pesos manualmente para compensar um pouco o desbalanceamento. No nosso caso, temos 300 casos de fraude para 7000 de não fraude; ao definir a razão de pesos como 1:12, chegamos a uma proporção de 1/3 de fraude para 2/3 de não fraude, o que já é suficiente para treinar o modelo.
Os dados deste exercício já foram divididos em conjuntos de treino e teste, então você só precisa focar em definir o seu modelo. Depois, você pode usar a função get_model_results() como atalho. Essa função ajusta o modelo aos seus dados de treino, faz as previsões e obtém métricas de desempenho, de forma similar aos passos que você realizou nos exercícios anteriores.
Este exercício faz parte do curso
Detecção de Fraudes em Python
Instruções do exercício
- Altere a opção
weightpara definir a razão 1 para 12 entre casos de não fraude e fraude, e defina o critério de divisão como 'entropy'. - Defina a profundidade máxima como 10.
- Defina o número mínimo de amostras nos nós folha como 10.
- Defina o número de árvores a usar no modelo como 20.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Change the model options
model = RandomForestClassifier(bootstrap=True, class_weight={0:____, 1:____}, criterion='____',
# Change depth of model
max_depth=____,
# Change the number of samples in leaf nodes
min_samples_leaf=____,
# Change the number of trees to use
n_estimators=____, n_jobs=-1, random_state=5)
# Run the function get_model_results
get_model_results(X_train, y_train, X_test, y_test, model)