Ajustes de modelo
Uma forma simples de ajustar o modelo de random forest para lidar com dados de fraude altamente desbalanceados é usar a opção class_weights ao definir seu modelo sklearn. No entanto, como você vai ver, é um mecanismo um pouco bruto e pode não funcionar para o seu caso específico.
Neste exercício, você vai explorar o modo weight = "balanced_subsample" do modelo Random Forest do exercício anterior. Você já dividiu seus dados em conjunto de treinamento e teste, ou seja, X_train, X_test, y_train, y_test estão disponíveis. As funções de métricas já foram importadas.
Este exercício faz parte do curso
Detecção de Fraudes em Python
Instruções do exercício
- Defina o argumento
class_weightdo seu classificador comobalanced_subsample. - Ajuste seu modelo ao conjunto de treinamento.
- Obtenha previsões e probabilidades a partir de
X_test. - Obtenha o
roc_auc_score, o relatório de classificação e a matriz de confusão.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Define the model with balanced subsample
model = RandomForestClassifier(class_weight='____', random_state=5)
# Fit your training model to your training set
model.fit(____, ____)
# Obtain the predicted values and probabilities from the model
predicted = ____.____(____)
probs = ____.____(____)
# Print the roc_auc_score, the classification report and confusion matrix
print(____(____, ____))
print(____(____, ____))
print(____(____, ____))