Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clasificación
Mediante Naive Bayes
Resumen
El algoritmo Naive Bayes define un método simple para aplicar el teorema de Bayes a
problemas de clasificación. Aunque no es el único método de Machine Learning que
utiliza métodos bayesianos, sí es el más común debido a su éxito clasificando textos,
terreno en el que este algoritmo se ha convertido en el estándar de facto.
Donde P(A) y P(B) son, respectivamente, las probabilidades a priori de los suceso A,
P(B) es P(B|A) es la probabilidad de que se dé el suceso B para cada hipótesis de A.
Fortalezas Debilidades
Simple, rápido y muy efectivo Se basa en una suposición a menudo
incorrecta: las características son
independientes y tienen la misma relevancia.
Funciona bien incluso con datos No es recomendable para conjuntos de datos
incompletos o con ruido. con muchos valores numéricos
Requiere relativamente pocos casos Las clases estimadas son menos fiables que
para ser entrenado. las predichas
Resulta sencillo obtener la
probabilidad de una predicción.
Librerías Usadas en R
Las librerías que se han usado para el clasificador han sido:
• caret: usado para realizar una matriz de confusión y ver los resultados de las
predicciones contra las clases reales. Puede encontrarse toda la información
sobre esta librería en la web:
https://www.rdocumentation.org/packages/caret/versions/6.0-86
• e1071: desarrollado por la Universidad Tecnológica de Viena, esta librería
contiene funciones de Machine Learning. Puede encontrarse más información en
https://www.rdocumentation.org/packages/e1071/versions/1.7-4
[1] 2201 5
classifier
Call:
naiveBayes.default(x = X, y = Y, laplace = laplace)
A-priori probabilities:
Y
No Yes
0.6738636 0.3261364
Conditional probabilities:
Class
Y 1st 2nd 3rd Crew
No 0.08178752 0.11045531 0.34991568 0.45784148
Yes 0.28571429 0.17421603 0.24912892 0.29094077
Sex
Y Male Female
No 0.91399663 0.08600337
Yes 0.50871080 0.49128920
Age
Y Child Adult
No 0.03372681 0.96627319
Yes 0.07665505 0.92334495
Con el clasificador Naive Bayes ya entrenado, podemos predecir la clase del nuevo
dataset de validación.
prediction <- predict(
classifier,
data_test[, -which(names(data_test) %in% c("Survived"))]
)
confusionMatrix(prediction, data_test$Survived)
Confusion Matrix and Statistics
Reference
Prediction No Yes
No 280 74
Yes 24 63
Accuracy : 0.7778
95% CI : (0.736, 0.8157)
No Information Rate : 0.6893
P-Value [Acc > NIR] : 2.277e-05
Kappa : 0.4233
Sensitivity : 0.9211
Specificity : 0.4599
Pos Pred Value : 0.7910
Neg Pred Value : 0.7241
Prevalence : 0.6893
Detection Rate : 0.6349
Detection Prevalence : 0.8027
Balanced Accuracy : 0.6905
'Positive' Class : No