You need to compare algorithms in terms of their functional similarity. You're referring to several algorithms from different domains. K-means and EM are clusterer algorithms. Apriori is used for mining association rules, while PageRank is a ranker algorithm. So you can't compare them with rest algorithms (C4.5, SVM, AdaBoost, kNN, Naive Bayes, and CART) as they are used to solve classification problems.
On the other hand, for comparing classification algorithms, this depends on major data and algorithms characteristics.
According to the No Free Launch Theory, there is no algorithm/method/classifier is the best for all types of problems/data. You will find one algorithm performs good at the beginning and bad at the end based on the the data and algorithm characteristics. Thus researchers used more than one classifier in a single framework ( such as ensemble methods) to tackle this problem.
Noura, I often use linear classifiers for high-dimensional data. If a linear classifier is not sufficient, I try kernel methods and neural networks. In addition, I found that Random forest, Bagging, and LibLINEAR also produce excellent result. But again, there is no one best method can work perfectly all the time.
I think that neural networks (MLP) should be added to this list. They are universal approximators and are widely used in regression and classification tasks.
It is in function of dressing problem (complexity, size,....), defined objective, type of data, ... . It is difficult to choose one whether for prediction or description. For example, is what you choose SOM, k-mean or CAH to cluster the groups of clients using some criteria?
I think that the choose of the learning algorithm is depended on the type of the application. You can consult these documents which are interesting:
NEAGA, I., & HAO, Y. (2013). Towards Big Data Mining and Discovery. In Short Research Papers on Knowledge, Innovation and Enterprise, Part 2-Innovation, KIE Conference Book Series (pp. 35-43). 2013 International Conference on Knowledge, Innovation & Enterprise.
Wu, X., Kumar, V., Quinlan, J. R., Ghosh, J., Yang, Q., Motoda, H., ... & Zhou, Z. H. (2008). Top 10 algorithms in data mining. Knowledge and information systems, 14(1), 1-37.
Dogan, N., & Tanrikulu, Z. (2013). A comparative analysis of classification algorithms in data mining for accuracy, speed and robustness. Information Technology and Management, 14(2), 105-124.
I think Extreme Learning Machine (ELM) isa hot choice nowadays.
Compared with SVM and traditional neural network, the training speed of ELM is very fast, which requires less manual disturbance and strong generalization ability for heterogeneous data sets.
You might be interested in the comprehensive Fernandez-Delgado et al. (2016) comparative classifier evaluation (179 classifiers, 121 data sets; please see link). Overall they found, that Random Forest and SVM classifiers performed best.
Thanks Uwe Reichel for the link. Yes, most of researchers would start with SVM. However, it is surprise me that random forest RF is better than decision tree DT, since DT is more sophisticated algorithm.
I am conducted a set of experiments using different classifiers, and I obtained the best results with Random forest. In my work case Random forset was the better
@Noura H. Al Nuaimi: I don't quite get your point that a DT was more sophisticated than an RF, since the latter actually consists of DTs. Each tree is trained on a feature subset only, so that the ensemble of these weak classifiers turns out to be pretty robust against overfitting to the training data. This makes RFs quite powerful.