Just Smile and Play with Machine Learning in Java
Jin Lei from Aofei Temple
Quantum Bit Report | Public Account QbitAI
Smile , as its name suggests, is a great tool that allows you to use it with a smile.
Its full name is Stateful Machine Intelligence and Learning Engine , which is a fast and comprehensive machine learning system.
How comprehensive is it? It can be said to be "all aspects".
Machine learning Aspects, such as classification, regression, clustering, association rule mining, feature selection, manifold learning, multidimensional scaling analysis, genetic algorithms, nearest neighbor search, etc.
Of course, other tasks such as data visualization and mathematical statistics can also be handled.
It is also reflected in the language, for example, Java, Scala, Kotlin and Clojure can be easily mastered.
Also, you can try it online !
Just a few lines of code to use
Whether a tool is good or not, "ease of use" is crucial.
Let’s first take a look at how convenient Smile is to use.
Taking "Random Forest" as an example, the Java code is as follows:
The codes for Scala and Kotlin are:
It is really convenient to simply define and call it.
Smile provides hundreds of advanced algorithms with a simple interface. The Scala API also provides advanced operators that make it easy to build machine learning applications.
Comprehensive machine learning
Speaking of Smile’s “comprehensiveness”, let’s first take a look at what it can do in machine learning.
-
Classification : Support vector machine, decision tree, AdaBoost, random forest, gradient boosting, neural network, maximum entropy classifier, KNN, naive Bayes, fisher/linear/quadratic/regularized discriminant analysis, etc.
-
Regression : Support Vector Regression, Gaussian Process, Regression Tree, Gradient Boosting, Random Forest, RBF Network, OLS, LASSO, ElasticNet, Ridge Regression, etc.
-
Feature selection : feature selection based on genetic algorithm, feature selection based on ensemble learning, tree diagram, signal-to-noise ratio, etc.
-
Clustering : BIRCH, CLARANS, DBSCAN, DENCLUE, Neural Gas, K-Means, X-Means, etc.
-
Association rules and frequent itemsets mining : FP-growth mining algorithm.
-
Manifold learning : IsoMap, LLE, Laplacian eigenmap, t-SNE, UMAP, PCA, Kernel PCA, Probabilistic PCA.
-
Multidimensional scaling : Classical MDS, Isotonic MDS, Sammon mapping.
-
Nearest neighbor search : BK tree, Cover tree, kd tree, SimHash, LSH.
-
Sequence learning : Hidden Markov models, Conditional Random Fields.
-
Natural Language Processing : Sentence and Tokenizers, Bigram Statistical Test, Phrase Extractor, Keyword Extractor, Part-of-Speech Tagger, Relevance Ranking.
Due to formatting issues, some possible machine learning methods are not listed here.
However, as can be seen from the methods listed above, the machine learning methods that Smile can handle are relatively comprehensive.
Mathematics, Statistics, and Visualization
Smile also provides an advanced numerical computing environment: from special functions, linear algebra, to random number generators, statistical distributions and hypothesis testing.
Additionally, graphics, waveforms, and various interpolation algorithms are implemented.
In addition, data visualization can also be achieved.
For example, scatter plots, line graphs, step graphs, bar graphs, box plots, heat maps, etc.
Java or Python?
Although the Smile tool is useful, it has sparked controversy on Reddit.
The point of conflict is still the contest between languages.
The Python supporters said:
You can't do much in this community without a Python API.
There are also "ridicules" of the Java language:
When you say Scala, Kotlin, and Clojure, you're just saying Java in a different way.
But Smile also responded strongly on its official website:
Smile has better performance than R and Python.
So, do you think this Smile tool is a good choice?
Reference link:
http://haifengl.github.io/
-over-
This article is the original content of [Quantum位], a signed account of NetEase News•NetEase's special content incentive plan. Any unauthorized reproduction is prohibited without the account's authorization.
5 minutes a day to seize industry development opportunities
How to pay attention to, learn and make good use of artificial intelligence?
Every weekday, Quantum位 AI Insider selects the latest global technology and research developments, summarizes new technologies, new products and new applications, sorts out the hottest industry trends and policies of the day, and searches for valuable papers, tutorials, research, etc.
At the same time, the AI Insider Group provides a platform for communication and sharing, which can better meet everyone's needs for obtaining AI information and learning AI technology. Scan the QR code to subscribe:
Join the AI community and communicate with outstanding people
Quantum Bit QbitAI · Toutiao signed author
Tracking new trends in AI technology and products
If you like it, click "Watching"!
Featured Posts