8.26.1.1. sklearn.svm.SVC¶
- class sklearn.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma=0.0, coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200, scale_C=True, class_weight=None)¶
- C-Support Vector Classification. - The implementations is a based on libsvm. The fit time complexity is more than quadratic with the number of samples which makes it hard to scale to dataset with more than a couple of 10000 samples. - The multiclass support is handled according to a one-vs-one scheme. - Parameters : - C : float, optional (default=1.0) - Penalty parameter C of the error term. - kernel : string, optional (default=’rbf’) - Specifies the kernel type to be used in the algorithm. It must be one of ‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’. If none is given, ‘rbf’ will be used. - degree : int, optional (default=3) - Degree of kernel function. It is significant only in ‘poly’ and ‘sigmoid’. - gamma : float, optional (default=0.0) - Kernel coefficient for ‘rbf’ and ‘poly’. If gamma is 0.0 then 1/n_features will be used instead. - coef0 : float, optional (default=0.0) - Independent term in kernel function. It is only significant in ‘poly’ and ‘sigmoid’. - probability: boolean, optional (default=False) : - Whether to enable probability estimates. This must be enabled prior to calling predict_proba. - shrinking: boolean, optional (default=True) : - Whether to use the shrinking heuristic. - tol: float, optional (default=1e-3) : - Tolerance for stopping criterion. - cache_size: float, optional : - Specify the size of the kernel cache (in MB) - class_weight : {dict, ‘auto’}, optional - Set the parameter C of class i to class_weight[i]*C for SVC. If not given, all classes are supposed to have weight one. The ‘auto’ mode uses the values of y to automatically adjust weights inversely proportional to class frequencies. - scale_C : bool, default: True - Scale C with number of samples. It makes the setting of C independent of the number of samples. To match libsvm commandline one should use scale_C=False. WARNING: scale_C will disappear in version 0.12. - See also - Examples - >>> import numpy as np >>> X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]]) >>> y = np.array([1, 1, 2, 2]) >>> from sklearn.svm import SVC >>> clf = SVC() >>> clf.fit(X, y) SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0, degree=3, gamma=0.5, kernel='rbf', probability=False, scale_C=True, shrinking=True, tol=0.001) >>> print clf.predict([[-0.8, -1]]) [ 1.] - Attributes - support_ - array-like, shape = [n_SV] - Index of support vectors. - support_vectors_ - array-like, shape = [n_SV, n_features] - Support vectors. - n_support_ - array-like, dtype=int32, shape = [n_class] - number of support vector for each class. - dual_coef_ - array, shape = [n_class-1, n_SV] - Coefficients of the support vector in the decision function. For multiclass, coefficient for all 1-vs-1 classifiers. The layout of the coefficients in the multiclass case is somewhat non-trivial. See the section about multi-class classification in the SVM section of the User Guide for details. - coef_ - array, shape = [n_class-1, n_features] - Weights asigned to the features (coefficients in the primal problem). This is only available in the case of linear kernel. - coef_ is readonly property derived from dual_coef_ and support_vectors_ - intercept_ - array, shape = [n_class * (n_class-1) / 2] - Constants in decision function. - Methods - decision_function(X) - Distance of the samples X to the separating hyperplane. - fit(X, y[, class_weight, sample_weight]) - Fit the SVM model according to the given training data. - get_params([deep]) - Get parameters for the estimator - predict(X) - Perform classification or regression samples in X. - predict_log_proba(X) - Compute the log likehoods each possible outcomes of samples in X. - predict_proba(X) - Compute the likehoods each possible outcomes of samples in T. - score(X, y) - Returns the mean accuracy on the given test data and labels. - set_params(**params) - Set the parameters of the estimator. - __init__(C=1.0, kernel='rbf', degree=3, gamma=0.0, coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200, scale_C=True, class_weight=None)¶
 - decision_function(X)¶
- Distance of the samples X to the separating hyperplane. - Parameters : - X : array-like, shape = [n_samples, n_features] - Returns : - X : array-like, shape = [n_samples, n_class * (n_class-1) / 2] - Returns the decision function of the sample for each class in the model. 
 - fit(X, y, class_weight=None, sample_weight=None)¶
- Fit the SVM model according to the given training data. - Parameters : - X : {array-like, sparse matrix}, shape = [n_samples, n_features] - Training vectors, where n_samples is the number of samples and n_features is the number of features. - y : array-like, shape = [n_samples] - Target values (integers in classification, real numbers in regression) - sample_weight : array-like, shape = [n_samples], optional - Weights applied to individual samples (1. for unweighted). - Returns : - self : object - Returns self. - Notes - If X and y are not C-ordered and contiguous arrays of np.float64 and X is not a scipy.sparse.csr_matrix, X and/or y may be copied. - If X is a dense array, then the other methods will not support sparse matrices as input. 
 - get_params(deep=True)¶
- Get parameters for the estimator - Parameters : - deep: boolean, optional : - If True, will return the parameters for this estimator and contained subobjects that are estimators. 
 - predict(X)¶
- Perform classification or regression samples in X. - For a classification model, the predicted class for each sample in X is returned. For a regression model, the function value of X calculated is returned. - For an one-class model, +1 or -1 is returned. - Parameters : - X : {array-like, sparse matrix}, shape = [n_samples, n_features] - Returns : - C : array, shape = [n_samples] 
 - predict_log_proba(X)¶
- Compute the log likehoods each possible outcomes of samples in X. - The model need to have probability information computed at training time: fit with attribute probability set to True. - Parameters : - X : array-like, shape = [n_samples, n_features] - Returns : - X : array-like, shape = [n_samples, n_classes] - Returns the log-probabilities of the sample for each class in the model, where classes are ordered by arithmetical order. - Notes - The probability model is created using cross validation, so the results can be slightly different than those obtained by predict. Also, it will meaningless results on very small datasets. 
 - predict_proba(X)¶
- Compute the likehoods each possible outcomes of samples in T. - The model need to have probability information computed at training time: fit with attribute probability set to True. - Parameters : - X : array-like, shape = [n_samples, n_features] - Returns : - X : array-like, shape = [n_samples, n_classes] - Returns the probability of the sample for each class in the model, where classes are ordered by arithmetical order. - Notes - The probability model is created using cross validation, so the results can be slightly different than those obtained by predict. Also, it will meaningless results on very small datasets. 
 - score(X, y)¶
- Returns the mean accuracy on the given test data and labels. - Parameters : - X : array-like, shape = [n_samples, n_features] - Training set. - y : array-like, shape = [n_samples] - Labels for X. - Returns : - z : float 
 - set_params(**params)¶
- Set the parameters of the estimator. - The method works on simple estimators as well as on nested objects (such as pipelines). The former have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object. - Returns : - self : 
 
