Advanced nonlinear algorithms
Support Vector Machine (SVM) is a powerful and advanced supervised learning technique for classification and regression that can automatically fit linear and nonlinear models. Scikit-learn offers an implementation based on LIBSVM, a complete library of SVM classification and regression implementations, and LIBLINEAR, a library more scalable for linear classification of large datasets, especially the sparse text based ones. Both libraries have been developed at the National Taiwan University, and both have been written in C++ with a C API to interface with other languages. Both libraries have been extensively tested (being free, they have been used in other open source machine learning toolkits) and have been proven to be both fast and reliable. The C API explains well two tricky needs for them to operate better under the Python Scikit-learn:
LIBSVM, when operating, needs to reserve some memory for kernel operations. The
cache_size
parameter is used to set the...