Beispiel #1
0
class SVCImpl():
    def __init__(self,
                 C=1.0,
                 kernel='rbf',
                 degree=3,
                 gamma='auto_deprecated',
                 coef0=0.0,
                 shrinking=True,
                 probability=False,
                 tol=0.001,
                 cache_size=200,
                 class_weight='balanced',
                 verbose=False,
                 max_iter=(-1),
                 decision_function_shape='ovr',
                 random_state=None):
        self._hyperparams = {
            'C': C,
            'kernel': kernel,
            'degree': degree,
            'gamma': gamma,
            'coef0': coef0,
            'shrinking': shrinking,
            'probability': probability,
            'tol': tol,
            'cache_size': cache_size,
            'class_weight': class_weight,
            'verbose': verbose,
            'max_iter': max_iter,
            'decision_function_shape': decision_function_shape,
            'random_state': random_state
        }
        self._wrapped_model = Op(**self._hyperparams)

    def fit(self, X, y=None):
        if (y is not None):
            self._wrapped_model.fit(X, y)
        else:
            self._wrapped_model.fit(X)
        return self

    def predict(self, X):
        return self._wrapped_model.predict(X)

    def predict_proba(self, X):
        return self._wrapped_model.predict_proba(X)

    def decision_function(self, X):
        return self._wrapped_model.decision_function(X)
Beispiel #2
0
                i += 1

    clf = SVC(kernel=laplacian_kernel)

    features = ['.cnn.', '.mfcc.', '.asr.', '.cnn+mfcc.', '.cnn+mfcc+asr.']
    X_score = np.zeros((len(X_all), len(features)))

    j = 0
    for j, feature in enumerate(features):
        if j <= 2:
            X = X_all[:, dimension_i[j]:dimension_i[j] + dimension_i[j + 1]]
        elif j == 3:
            X = X_all[:, 0:150]
        elif j == 4:
            X = X_all
        clf.fit(X, Y_all)
        print('saving scores...')
        X_score[:, j] = clf.decision_function(X)
        # print (X_score[:, j])
        np.save(event_name + feature + 'score', X_score[:, j])
        cPickle.dump(clf, open(output_file + feature + 'score', "wb"))

    clf = SVC(kernel='linear')
    clf.fit(X_score[:, [0, 1, 2, 4]], Y_all)

    fread.close()

    cPickle.dump(clf, open(output_file, "wb"))

    print 'SVM trained successfully for event %s!' % (event_name)