count_cls=np.bincount(y_map).astype(np.int32) start_cls = count_cls.cumsum() start_cls=np.insert(start_cls,0,0).astype(np.int32) i=start_cls[ bin_cls[0] ]+1 j=start_cls[ bin_cls[1] ]+1 print i,j #--------------------- num_el,dim = X.shape gamma = 0.5 threadsPerRow = 1 prefetch=2 rbf = ker.RBF() rbf.gamma=gamma rbf.init(X,Y) vecI = X[i,:].toarray() vecJ = X[j,:].toarray() import time #t0=time.clock() t0=time.time() #ki =Y[i]*Y* rbf.K_vec(vecI).flatten() #kj =Y[j]*Y*rbf.K_vec(vecJ).flatten()
# # xy = start_pos # xx = xy[:,0] # yy = xy[:,1] c1 = 1. c2 = 1. gamma = 1.1 epsilon = 0.01 sv_val_2d = [] sv_test_2d = [] sk_test_2d = [] sk_val_2d = [] kernel_2d_gpr = Kernels.RBF([1., 1.]) * Kernels.ConstantKernel() sv_test_2d.append(sv.GPR(Kernels.ConstantKernel() * kernel_2d_gpr)) sv_test_2d.append(sv.RLS(Kernels.RBF())) sk_test_2d.append( gpr.GaussianProcessRegressor(gpr.kernels.RBF([1., 1.]) * gpr.kernels.ConstantKernel(), normalize_y=True)) sk_test_2d.append(svm.SVR(kernel='rbf', gamma=gamma, epsilon=epsilon)) ## for element in sk_test_2d: element.fit(xy, energy(xx, yy).reshape(-1)) sk_val_2d.append((element.__class__.__name__, element.predict(xy_pred))) grad_x, grad_y = gradient(xx, yy) grad = np.concatenate([grad_x.reshape(-1, 1), grad_y.reshape(-1, 1)], axis=1)
max_steps = 50 if molecule == 'Ammonia': neb_method = 'improved' max_force = 1e-3 elif molecule == 'Ethane': neb_method = 'simple_improved' max_force = 2e-3 calc_idpp = True # optimizer delta_t = 3.5 opt_fire = NEB.Fire(delta_t, 2 * delta_t, trust_radius) opt = NEB.Optimizer() kernel = Kernels.RBF([0.8]) C1 = 1e6 C2 = 1e7 eps = 1e-5 restarts = 5 opt_steps = 1 optimize_parameters = True norm_y = True #ml_method = MLDerivative.IRWLS(kernel, C1=C1, C2=C2, epsilon=1e-5, epsilon_prime=1e-5, max_iter=1e4) # ml_method = MLDerivative.RLS(kernel, C1=C1, C2=C2) #ml_method = MLDerivative.GPR(kernel, opt_restarts=restarts, opt_parameter=optimize_parameters, noise_value = 1./C1, # noise_derivative=1./C2, normalize_y=norm_y) ml_method = NNModel.NNModel(molecule, C1=C1,
acc = (0.0 + sum(Y == pred1)) / len(Y) print 'acc=', acc print '--------------\n' #np.random.seed(0) #n=6 #X = np.random.randn(n, 2) #Y = np.random.randint(1,4,n) #X = np.array([ (1,2), (3,4), (5,6), (7,8), (9,0)]) #Y = np.array([4,1,2,1,4]) svm_solver = slv.FOSVM(X, Y, C) #kernel = Linear() kernel = ker.RBF() t0 = time.clock() svm_solver.init(kernel) t1 = time.clock() print '\nInit takes', t1 - t0 t0 = time.clock() svm_solver.train() t1 = time.clock() print '\nTakes: ', t1 - t0 for k in xrange(len(svm_solver.models)):