Ingénierie des caractéristiques en R
Jorge Zazueta
Research Professor. Head of the Modeling Group at the School of Economics, UASLP
On peut améliorer la performance du modèle de Machine Learning en rendant les données plus faciles à traiter.
glimpse(loans_num)
Rows: 614
Columns: 6
$ Loan_Status <fct> Y, N, Y, Y, Y, Y, Y, N, Y, N, Y, Y, Y, N...
$ ApplicantIncome <dbl> 5849, 4583, 3000, 2583, 6000, 5417, 233...
$ CoapplicantIncome <dbl> 0, 1508, 0, 2358, 0, 4196, 1516, 2504, 1...
$ LoanAmount <dbl> NA, 128, 66, 120, 141, 267, 95, 158, 168...
$ Loan_Amount_Term <dbl> 360, 360, 360, 360, 360, 360, 360, 360, ...
$ Credit_History <fct> 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1...
Appliquer une transformation log aux variables numériques pour :
Montants de prêt transformés par log

Normaliser ou mettre à l'échelle des variables numériques pour :
p. ex., les valeurs de la durée du prêt varient fortement

Normaliser ou mettre à l'échelle des variables numériques pour :
Les valeurs normalisées préservent la distribution, tout en conservant de la variation.

Nous pouvons maintenant déclarer un modèle de régression logistique et ajouter une recette pour imputer, normaliser et appliquer le log aux variables pertinentes.
lr_model <- logistic_reg()
lr_recipe <-
recipe(Loan_Status ~.,
data = train) %>%
step_impute_knn(
all_numeric_predictors())%>%
step_normalize(Loan_Amount_Term) %>%
step_log(all_numeric_predictors(),
-Loan_Amount_Term, offset = 1)
L'impression de l'objet recette affiche un résumé des étapes appliquées.
lr_recipe
Recipe
Inputs:
role #variables
outcome 1
predictor 5
Operations:
K-nearest neighbor imputation for all_numeric_predictors()
Centering and scaling for Loan_Amount_Term
Log transformation on all_numeric_predictors(),-Loan_Amount_Term
Nous définissons un ensemble de mesures, roc_auc, accuracy et sens, pour évaluer l'objet de flux d'apprentissage lr_fit.
class_evaluate <- metric_set(
roc_auc, accuracy, sens)
Puis on l'exécute comme toute autre fonction.
lr_aug %>%
class_evaluate(
truth = Loan_Status,
estimate = .pred_class,
.pred_Y)
Ensemble de mesures personnalisé
# A tibble: 3 × 3
.metric .estimator .estimate
<chr> <chr> <dbl>
1 accuracy binary 0.813
2 sens binary 0.467
3 roc_auc binary 0.288
Ingénierie des caractéristiques en R