def __init__(self, svm_kernel='linear', svm_c=0.1, fs=250, bands=None, time_windows=None, riem_opt='Riemann', rho=0.1, filter_type='butter', filter_order=2, random_state=None):
    ' Constructor\n\n        Args:\n\n        Parameters\n        ----------\n\n        svm_kernel: str {\'linear\', \'sigmoid\', \'rbf\'}\n                    kernel used for classifier\n\n        svm_c: float\n               regularization parameter for the classifier\n\n        fs: int\n            sampling rate of the data\n\n        bands: list of int\n                bandwidths used in filterbanks (default: [2, 4, 8, 16, 32])\n\n        time_windows: list of list of ints, shape = (N, 2)\n                      time windows used, in seconds (default: [[2,5, 6]])\n\n        riem_opt: str {"riemann", "Riemann_Euclid", "Whitened_Euclid", "No_Adaptation"}\n                  type of riemannian used\n\n        rho: float\n             Normalization parameter for the covariance matrix of the riemannian\n\n        filter_type: str {"butter", "fir"}\n                     Type of the filter\n\n        filter_order: int\n                      Order of the filter\n\n        random_state: int or None\n                      random seed used in the SVM\n        '
    if (svm_kernel == 'linear'):
        self.classifier = LinearSVC(C=svm_c, loss='hinge', random_state=random_state, tol=1e-05)
    else:
        self.classifier = SVC(C=svm_c, kernel=svm_kernel, degree=10, gamma='auto', cache_size=10000, random_state=random_state)
    if (bands is None):
        bandwidths = np.array([2, 4, 8, 16, 32])
    else:
        bandwidths = np.array(bands)
    filter_bank = load_filterbank(bandwidths, fs, order=filter_order, max_freq=40, ftype=filter_type)
    if (time_windows is None):
        time_windows = (np.array([[2.5, 6]]) * fs).astype(int)
    else:
        time_windows = (np.array(time_windows) * fs).astype(int)
    self.riemannian = RiemannianMultiscale(filter_bank, time_windows, riem_opt=riem_opt, rho=rho, vectorized=True)
    self.no_bands = filter_bank.shape[0]
    self.no_time_windows = time_windows.shape[0]
    self.no_riem = None
    self.no_features = None
Constructor

Args:

Parameters
----------

svm_kernel: str {'linear', 'sigmoid', 'rbf'}
            kernel used for classifier

svm_c: float
       regularization parameter for the classifier

fs: int
    sampling rate of the data

bands: list of int
        bandwidths used in filterbanks (default: [2, 4, 8, 16, 32])

time_windows: list of list of ints, shape = (N, 2)
              time windows used, in seconds (default: [[2,5, 6]])

riem_opt: str {"riemann", "Riemann_Euclid", "Whitened_Euclid", "No_Adaptation"}
          type of riemannian used

rho: float
     Normalization parameter for the covariance matrix of the riemannian

filter_type: str {"butter", "fir"}
             Type of the filter

filter_order: int
              Order of the filter

random_state: int or None
              random seed used in the SVM
def __init__(self, svm_kernel='linear', svm_c=0.1, fs=250, bands=None, time_windows=None, riem_opt='Riemann', rho=0.1, filter_type='butter', filter_order=2, random_state=None):
    ' Constructor\n\n        Args:\n\n        Parameters\n        ----------\n\n        svm_kernel: str {\'linear\', \'sigmoid\', \'rbf\'}\n                    kernel used for classifier\n\n        svm_c: float\n               regularization parameter for the classifier\n\n        fs: int\n            sampling rate of the data\n\n        bands: list of int\n                bandwidths used in filterbanks (default: [2, 4, 8, 16, 32])\n\n        time_windows: list of list of ints, shape = (N, 2)\n                      time windows used, in seconds (default: [[2,5, 6]])\n\n        riem_opt: str {"riemann", "Riemann_Euclid", "Whitened_Euclid", "No_Adaptation"}\n                  type of riemannian used\n\n        rho: float\n             Normalization parameter for the covariance matrix of the riemannian\n\n        filter_type: str {"butter", "fir"}\n                     Type of the filter\n\n        filter_order: int\n                      Order of the filter\n\n        random_state: int or None\n                      random seed used in the SVM\n        '
    if (svm_kernel == 'linear'):
        self.classifier = LinearSVC(C=svm_c, loss='hinge', random_state=random_state, tol=1e-05)
    else:
        self.classifier = SVC(C=svm_c, kernel=svm_kernel, degree=10, gamma='auto', cache_size=10000, random_state=random_state)
    if (bands is None):
        bandwidths = np.array([2, 4, 8, 16, 32])
    else:
        bandwidths = np.array(bands)
    filter_bank = load_filterbank(bandwidths, fs, order=filter_order, max_freq=40, ftype=filter_type)
    if (time_windows is None):
        time_windows = (np.array([[2.5, 6]]) * fs).astype(int)
    else:
        time_windows = (np.array(time_windows) * fs).astype(int)
    self.riemannian = RiemannianMultiscale(filter_bank, time_windows, riem_opt=riem_opt, rho=rho, vectorized=True)
    self.no_bands = filter_bank.shape[0]
    self.no_time_windows = time_windows.shape[0]
    self.no_riem = None
    self.no_features = None