def run(train_data, test_data, n_features, labels, gamma, C, feature_type='uniform'):
print train_data
assert os.path.isfile(train_data), '%s is not a file' % train_data
assert os.path.isfile(test_data), '%s is not a file' % test_data
X, Y = load_svmlight_file(train_data, n_features=n_features)
Xt, Yt = load_svmlight_file(test_data, n_features=n_features)
Xt = Xt.todense()
if gamma is None:
gamma = 1.0 / n_features
if C is None:
C = 1
rbf_svc = svm.SVC(kernel='rbf', gamma=gamma, C=C).fit(X, Y)
print '--------------- original -----------------'
baseline = sm.accuracy_score(Yt, rbf_svc.predict(Xt))
print 'original: %f' % baseline
CAL_v(train_data, labels[1], labels[0], rbf_svc.predict, n_features, feature_type, Xt, Yt)
# run('data/diabetes.aa', 'data/diabetes.ab', 8, (+1, -1), gamma=2.0, C=.5, feature_type='uniform')
# run('data/breast-cancer.aa', 'data/breast-cancer.ab', 10, (1, 0), gamma=0.5, C=.125, feature_type='uniform')
# run('data/australian.aa', 'data/australian.ab', 14, gamma=0.03125, C=.125, feature_type='uniform')
# run('./data/fourclass.aa', './data/fourclass.ab', 2, (1, -1), gamma=8.0, C=128, feature_type='uniform')
评论列表
文章目录