WEKA is a machine learning software written in Java that contains tools for data pre-processing, classification, regression, clustering, association rule mining, and attribute selection. It has graphical user interfaces that allow users to view data, apply machine learning algorithms, and evaluate results. WEKA supports common file formats and can access data from databases. It contains implementations of many machine learning algorithms and allows users to perform experiments to compare algorithm performance.