Issue No.01 - January (2010 vol.22)
Carlos Ordonez , University of Houston, Houston
Sasi K. Pitchaimalai , University of Houston, Houston
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TKDE.2009.127
The Bayesian classifier is a fundamental classification technique. In this work, we focus on programming Bayesian classifiers in SQL. We introduce two classifiers: Naive Bayes and a classifier based on class decomposition using K-means clustering. We consider two complementary tasks: model computation and scoring a data set. We study several layouts for tables and several indexing alternatives. We analyze how to transform equations into efficient SQL queries and introduce several query optimizations. We conduct experiments with real and synthetic data sets to evaluate classification accuracy, query optimizations, and scalability. Our Bayesian classifier is more accurate than Naive Bayes and decision trees. Distance computation is significantly accelerated with horizontal layout for tables, denormalization, and pivoting. We also compare Naive Bayes implementations in SQL and C++: SQL is about four times slower. Our Bayesian classifier in SQL achieves high classification accuracy, can efficiently analyze large data sets, and has linear scalability.
Classification, K-means, query optimization.
Carlos Ordonez, Sasi K. Pitchaimalai, "Bayesian Classifiers Programmed in SQL", IEEE Transactions on Knowledge & Data Engineering, vol.22, no. 1, pp. 139-144, January 2010, doi:10.1109/TKDE.2009.127