diff options
Diffstat (limited to 'docs/cls_gensvm.txt')
| -rw-r--r-- | docs/cls_gensvm.txt | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/docs/cls_gensvm.txt b/docs/cls_gensvm.txt new file mode 100644 index 0000000..b4bc9a7 --- /dev/null +++ b/docs/cls_gensvm.txt @@ -0,0 +1,139 @@ + +.. py:class:: GenSVM(p=1.0, lmd=1e-05, kappa=0.0, epsilon=1e-06, weights='unit', kernel='linear', gamma='auto', coef=1.0, degree=2.0, kernel_eigen_cutoff=1e-08, verbose=0, random_state=None, max_iter=100000000.0) + :noindex: + :module: gensvm.core + + Generalized Multiclass Support Vector Machine Classification. + + This class implements the basic GenSVM classifier. GenSVM is a generalized + multiclass SVM which is flexible in the weighting of misclassification + errors. It is this flexibility that makes it perform well on diverse + datasets. + + The :func:`~GenSVM.fit` and :func:`~GenSVM.predict` methods of this class + use the GenSVM C library for the actual computations. + + :param p: Parameter for the L_p norm of the loss function (1.0 <= p <= 2.0) + :type p: float, optional (default=1.0) + :param lmd: Parameter for the regularization term of the loss function (lmd > 0) + :type lmd: float, optional (default=1e-5) + :param kappa: Parameter for the hinge function in the loss function (kappa > -1.0) + :type kappa: float, optional (default=0.0) + :param weights: Type of sample weights to use. Options are 'unit' for unit weights and + 'group' for group size correction weights (equation 4 in the paper). + + It is also possible to provide an explicit vector of sample weights + through the :func:`~GenSVM.fit` method. If so, it will override the + setting provided here. + :type weights: string, optional (default='unit') + :param kernel: Specify the kernel type to use in the classifier. It must be one of + 'linear', 'poly', 'rbf', or 'sigmoid'. + :type kernel: string, optional (default='linear') + :param gamma: Kernel parameter for the rbf, poly, and sigmoid kernel. If gamma is + 'auto' then 1/n_features will be used. See `Kernels in GenSVM + <gensvm_kernels_>`_ for the exact implementation of the kernels. + :type gamma: float, optional (default='auto') + :param coef: Kernel parameter for the poly and sigmoid kernel. See `Kernels in + GenSVM <gensvm_kernels_>`_ for the exact implementation of the kernels. + :type coef: float, optional (default=1.0) + :param degree: Kernel parameter for the poly kernel. See `Kernels in GenSVM + <gensvm_kernels_>`_ for the exact implementation of the kernels. + :type degree: float, optional (default=2.0) + :param kernel_eigen_cutoff: Cutoff point for the reduced eigendecomposition used with nonlinear + GenSVM. Eigenvectors for which the ratio between their corresponding + eigenvalue and the largest eigenvalue is smaller than the cutoff will + be dropped. + :type kernel_eigen_cutoff: float, optional (default=1e-8) + :param verbose: Enable verbose output + :type verbose: int, (default=0) + :param random_state: The seed for the random number generation used for initialization where + necessary. See the documentation of + ``sklearn.utils.check_random_state`` for more info. + :type random_state: None, int, instance of RandomState + :param max_iter: The maximum number of iterations to be run. + :type max_iter: int, (default=1e8) + + .. attribute:: coef_ + + *array, shape = [n_features, n_classes-1]* -- Weights assigned to the features (coefficients in the primal problem) + + .. attribute:: intercept_ + + *array, shape = [n_classes-1]* -- Constants in the decision function + + .. attribute:: combined_coef_ + + *array, shape = [n_features+1, n_classes-1]* -- Combined weights matrix for the seed_V parameter to the fit method + + .. attribute:: n_iter_ + + *int* -- The number of iterations that were run during training. + + .. attribute:: n_support_ + + *int* -- The number of support vectors that were found + + .. attribute:: SVs_ + + *array, shape = [n_observations, ]* -- Index vector that marks the support vectors (1 = SV, 0 = no SV) + + .. seealso:: + + :class:`.GenSVMGridSearchCV` + Helper class to run an efficient grid search for GenSVM. + + .. _gensvm_kernels: + https://gensvm.readthedocs.io/en/latest/#kernels-in-gensvm + + + + .. py:method:: GenSVM.fit(X, y, sample_weight=None, seed_V=None) + :noindex: + :module: gensvm.core + + Fit the GenSVM model on the given data + + The model can be fit with or without a seed matrix (``seed_V``). This + can be used to provide warm starts for the algorithm. + + :param X: The input data. It is expected that only numeric data is given. + :type X: array, shape = (n_observations, n_features) + :param y: The label vector, labels can be numbers or strings. + :type y: array, shape = (n_observations, ) + :param sample_weight: Array of weights that are assigned to individual samples. If not + provided, then the weight specification in the constructor is used + ('unit' or 'group'). + :type sample_weight: array, shape = (n_observations, ) + :param seed_V: Seed coefficient array to use as a warm start for the optimization. + It can for instance be the :attr:`combined_coef_ + <.GenSVM.combined_coef_>` attribute of a different GenSVM model. + This is only supported for the linear kernel. + + NOTE: the size of the seed_V matrix is ``n_features+1`` by + ``n_classes - 1``. The number of columns of ``seed_V`` is leading + for the number of classes in the model. For example, if ``y`` + contains 3 different classes and ``seed_V`` has 3 columns, we + assume that there are actually 4 classes in the problem but one + class is just represented in this training data. This can be useful + for problems were a certain class has only a few samples. + :type seed_V: array, shape = (n_features+1, n_classes-1), optional + + :returns: **self** -- Returns self. + :rtype: object + + + .. py:method:: GenSVM.predict(X, trainX=None) + :noindex: + :module: gensvm.core + + Predict the class labels on the given data + + :param X: Data for which to predict the labels + :type X: array, shape = [n_test_samples, n_features] + :param trainX: Only for nonlinear prediction with kernels: the training data used + to train the model. + :type trainX: array, shape = [n_train_samples, n_features] + + :returns: **y_pred** -- Predicted class labels of the data in X. + :rtype: array, shape = (n_samples, ) + |
