En este artículo, veremos el enfoque para calcular F1 Score utilizando los diversos paquetes y sus diversas funcionalidades en el lenguaje R.
Puntuación F1
La puntuación F o medida F es una medida de la precisión de una prueba. Se calcula a partir de la precisión y el recuerdo de la prueba, donde la precisión es el número de resultados positivos verdaderos dividido por el número de todos los resultados positivos, incluidos los que no se identificaron correctamente, y el recuerdo es el número de resultados positivos verdaderos dividido por el número de todas las muestras que deberían haberse identificado como positivas.
Método 1: usar la función F1_Score del paquete Mlmetrics
Bajo este enfoque para calcular el puntaje f1, el usuario debe instalar e importar el paquete Mlmetrics en la consola R actual y, además, el usuario debe llamar a la función F1_Score() desde este paquete y pasarlo con el parámetro requerido para obtener la puntuación F1 del valor predicho y real y, además, a cambio, esta función devolverá la puntuación F1 de los valores real y predicho dados.
Sintaxis para instalar e importar el paquete Mlmetrics en lenguaje R:
install.package("MLmetrics") library("MLmetrics")
Función F1_Score(): Esta función se utiliza para calcular la puntuación F1.
Sintaxis: F1_Score(y_true, y_pred, positivo = NULL)
Parámetros:
- y_true: verdad básica (correcta) 0-1 vector de etiquetas
- y_pred: vector de etiquetas pronosticado, tal como lo devuelve un clasificador
- positivo: una string de caracteres opcional para el nivel del factor que corresponde a un resultado «positivo»
Ejemplo: En este ejemplo, estamos creando dos vectores de 10 puntos de datos, uno con los valores reales y otro con los valores pronosticados y con la ayuda de la función F1_Score() del paquete MLmetrics estamos calculando el puntaje f1 en la programación R .
R
# Import Mlmetrics library library(MLmetrics) # Create Data actual = c(1,2,28,1,5,6,7,8,9,10) predicted = c(1,2,3,4,5,6,7,8,9,10) # Calculate F!_Score F1_Score(predicted,actual)
Producción:
[1] 0.6666667
Método 2: Usar la función confusionMatrix() del paquete caret
En este enfoque para calcular la puntuación F1, el usuario primero debe instalar e importar el paquete de intercalación en la consola R en funcionamiento, y luego el usuario debe llamar a la función confusionMatrix() y pasarle el parámetro requerido. Esto devolverá la puntuación F1 al usuario de los datos proporcionados en el lenguaje R.
Sintaxis para instalar e importar el paquete caret en lenguaje R:
install.package("caret") library("caret")
Función confusionMatrix(): Calcula una tabulación cruzada de clases observadas y pronosticadas con estadísticas asociadas.
Sintaxis: confusionMatrix(datos, referencia, positivo = NULL, dnn = c(“Predicción”, “Referencia”), …)
Parámetros:
- datos: un factor de clases predichas
- referencia: un factor de clases para ser utilizado como los resultados verdaderos
- positivo: una string de caracteres opcional para el nivel del factor que corresponde a un resultado «positivo» (si eso tiene sentido para sus datos).
- dnn: un vector de caracteres de dimnames para la tabla
- …: opciones a pasar.
Ejemplo: en este ejemplo, somos dos vectores, uno con los datos reales y otro con los datos previstos y, además, estamos usando la función confusionMatrix() para obtener la puntuación F1 de los datos dados.
R
# Import caret library library(caret) # Create Data actual <- factor(rep(c(1, 2), times=c(16, 24))) predicted <- factor(rep(c(1, 2, 1, 2), times=c(12, 4, 7, 17))) # create confusion matrix confusionMatrix(predicted, actual, mode = "everything", positive="1")
Producción:
Confusion Matrix and Statistics Reference Prediction 1 2 1 12 7 2 4 17 Accuracy : 0.725 95% CI : (0.5611, 0.854) No Information Rate : 0.6 P-Value [Acc > NIR] : 0.07095 Kappa : 0.4444 Mcnemar's Test P-Value : 0.54649 Sensitivity : 0.7500 Specificity : 0.7083 Pos Pred Value : 0.6316 Neg Pred Value : 0.8095 Precision : 0.6316 Recall : 0.7500 F1 : 0.6857 Prevalence : 0.4000 Detection Rate : 0.3000 Detection Prevalence : 0.4750 Balanced Accuracy : 0.7292 'Positive' Class : 1
Método 3: Calcule la puntuación F1 del modelo:
En este método para calcular la puntuación F1 del modelo, el usuario primero debe crear el modelo con respecto a los datos dados, luego el usuario debe calcular la array de confusión de ese modelo, además, la función err_metric() con la array de confusión pasa como su parámetro a la puntuación f1 del modelo construido en el lenguaje de programación R.
Sintaxis: err_metric(cm)
Donde, cm: array de confusión
Ejemplo: En este ejemplo, simplemente crearemos un modelo de regresión logística del conjunto de datos dado y luego usaremos la función err_metrics() para calcular la puntuación f1 en el lenguaje de programación R.
El enlace del conjunto de datos.
R
library(caTools) data = read.csv('Social_Network_Ads.csv') data = data[3:5] split = sample.split(data$Purchased, SplitRatio = 0.75) train = subset (data, split == TRUE) test = subset (data, split == FALSE) train[-3] = scale(train[-3]) test[-3] = scale(test[-3]) classifier = glm(formula = Purchased ~ ., family = binomial, data = train) prob_pred = predict (classifier, type = 'response', newdata = test[-3]) y_pred = ifelse (prob_pred > 0.5, 1, 0) cm = table (test[, 3], y_pred > 0.5) err_metric(cm)
Producción:
[1] "Precision value of the model: 0.72" [1] "Accuracy of the model: 0.77" [1] "Recall value of the model: 0.12" [1] "False Positive rate of the model: 0.12" [1] "False Negative rate of the model: 0.42" [1] "f1 score of the model: 0.21"
Publicación traducida automáticamente
Artículo escrito por geetansh044 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA