Weka is an open source data mining tool developed in Java that can be run on Windows, Linux, and Mac. It contains tools for data preprocessing, classification, regression, clustering, association rules, and visualization. Weka has a graphical user interface that allows users to apply machine learning algorithms directly to datasets or its Java library can be imported to build custom applications. Common functions in Weka include classification algorithms like decision trees, regression, clustering, and association rule mining.