“…Early research incorporating traditional ML algorithms included k-means clustering, kNN [35,39], SVM [5,28,50], decision trees [1,7,8,14,47], and naive Bayes [47]. These ML algorithms usually have manually selected or ranked features as input, such as malicious system call traces [6], permissions [34,37], APIs [1,27,32,37,39,50], network addresses [5], network traffic [22,42] and embedded call graphs [15]. However, a reliance on expert knowledge for feature engineering can render a model more vulnerable to change than if the model learns features itself.…”