 having network functions run as software on commodity cloud infrastructure, big data, on the other hand, is about collecting and analyzing data for improving automation and extracting intelligence and information. The marriage of Network Cloud and big data is like peanut butter and jelly-it enables us to develop a network that is resilient, self-healing, and self-learning. It also provides us the ability to make rapid decisions through control loop services by processing and acting on data. This section describes a platform approach to collecting, ingesting, storing, and analyzing data to support virtualized services that can run reliably and securely in the Network Cloud. Designing a data platform for the Network Cloud needs to adhere to five key design principles: 1. Supporting well-defined API's both within the platform components and when interfacing with external components, such as a policy engine or controllers. Building the Network of the Future TABLE 8.5 ML Toolkit Comparisons Distributed ML Toolkits Features/Attributes Mahout MLlib Deeplearning4j Languages supported Java, Python, Scala Java, Python, R, Java, Scala, Clojure Scala Framework/library Environment/ Library/API Environment/ Framework framework language Associated platform MapReduce, Spark, H2O Spark, Mapreduce, Spark, Hadoop Spark, Flink GPU support? Current version 0.12.2 2.0.1 3.11.0.3652 Graphical user interface? Supervised Learning Generalized linear modeling (GLM), linear/logistic Gradient boosting machine (GBM) Distributed random forest Support vector machine (SVM) Naive Bayes Yes (Spark) Ensembles (stacking) Unsupervised Learning Generalized low rank models (GLRM) K-means clustering Streaming K-means Spectral clustering Principal components analysis Yes (Spark) (PCA) QR decomposition Yes (Spark) Singular value decomposition Yes (Spark) Chi squared Yes (Spark) Additional Algorithms Collaborative filtering Yes (Spark) Yes (ALS) algorithm Topic modeling Deep learning Most recent version link https://mahout. http://spark.apache. http://www