Что может быть лучшим способом сделать ваш SVM быстрее и надежнее? - PullRequest
0 голосов
/ 21 мая 2018

Я новичок в области интеллектуального анализа данных.Я реализовал свой линейный SVM следующим образом.

X_train, X_test, y_train, y_test, = train_test_split(X, y, test_size=0.1, random_state = 0)
#print X_train.shape, y_train.shape
#print X_test.shape, y_test.shape

clf = svm.SVC(kernel='linear', C=1).fit(X_train, y_train)
print clf.score(X_test, y_test)

clf = svm.SVC(kernel='linear', C=1)
scores = cross_val_score(clf, X, y, cv=10)
print scores

print("Accuracy: %0.2f (+/- %0.2f)" % (scores.mean(), scores.std()*2 ))

tuned_parameters = [{'kernel': ['rbf'], 'gamma': [1e-3, 1e-4],'C': [1, 10, 100, 1000]},{'kernel': ['linear'], 'C': [1, 10, 100, 1000]}]
scores = ['precision', 'recall']
svr = svm.SVC(C=1)
for score in scores:
    print("# Tuning hyper-parameters for %s"% score)
    clf =GridSearchCV(svr, tuned_parameters, cv=10,scoring='%s_macro'% score)
    clf.fit(X_train, y_train)
    print("best parameters %s" % clf.best_params_)

Здесь мои данные слишком велики, так что я должен сделать, чтобы мой линейный SVM работал очень быстро?

1 Ответ

0 голосов
/ 21 мая 2018

Выполните настройку параметров только для выборки.

Как только вы найдете правильные параметры, используйте весь набор данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...