def run_solver(self, unit, n_units, arm):
start_time=time.time()
#kernel_map=dict(zip([1,2,3],['rbf','poly','sigmoid']))
preprocess_map=dict(zip([1,2,3,4],['none','min_max','scaled','normalized']))
self.compute_preprocessor(preprocess_map[arm['preprocessor']])
# Create random features
features=kernel_approximation.RBFSampler(gamma=arm['gamma'],n_components=n_units, random_state=1)
train_features=features.fit_transform(self.data['X_train'])
val_features=features.transform(self.data['X_val'])
test_features=features.transform(self.data['X_test'])
approx_time=(time.time()-start_time)/60.0
print 'approximating kernel took %r' % approx_time
clf = linear_model.RidgeClassifier(alpha=1.0/(arm['C']*n_units),solver='lsqr',copy_X=False)
clf.fit(train_features, self.data['y_train'])
print 'fitting model took %r' % ((time.time()-start_time)/60.0 - approx_time)
# Validate this hyperparameter configuration on the full validation data
#y_loss = 1 - clf.score(self.data['X_train'], self.data['y_train'])
y_loss=1
test_acc=0
val_acc= clf.score(val_features, self.data['y_val'])
test_acc = clf.score(test_features, self.data['y_test'])
del self.data
del train_features, val_features, test_features
gc.collect()
return y_loss,val_acc,test_acc
random_features_helper.py 文件源码
python
阅读 26
收藏 0
点赞 0
评论 0
评论列表
文章目录