def test_set_descriptor(): """ This test checks that the set_descriptor function works as expected. :return: """ test_dir = os.path.dirname(os.path.realpath(__file__)) data_incorrect = np.load(test_dir + "/data/CN_isopent_light_UCM.npz") data_correct = np.load(test_dir + "/data/local_slatm_ch4cn_light.npz") descriptor_correct = data_correct["arr_0"] descriptor_incorrect = data_incorrect["arr_0"] estimator = ARMP() assert estimator.representation == None estimator.set_representations(representations=descriptor_correct) assert np.all(estimator.representation == descriptor_correct) # Pass a descriptor with the wrong shape try: estimator.set_representations(representations=descriptor_incorrect) raise Exception except InputError: pass
def test_fit_2(): """ This function tests the second way of fitting the descriptor: the data is passed by storing the compounds in the class. """ test_dir = os.path.dirname(os.path.realpath(__file__)) data = np.load(test_dir + "/data/local_slatm_ch4cn_light.npz") descriptor = data["arr_0"] classes = data["arr_1"] energies = data["arr_2"] estimator = ARMP() estimator.set_representations(representations=descriptor) estimator.set_classes(classes=classes) estimator.set_properties(energies) idx = np.arange(0, 100) estimator.fit(idx)
import os ## ------------- ** Loading the data ** --------------- current_dir = os.path.dirname(os.path.realpath(__file__)) data = np.load(current_dir + '/../test/data/local_slatm_ch4cn_light.npz') descriptor = data["arr_0"] zs = data["arr_1"] energies = data["arr_2"] ## ------------- ** Setting up the estimator ** --------------- estimator = ARMP(iterations=100, l2_reg=0.0) estimator.set_representations(representations=descriptor) estimator.set_classes(zs) estimator.set_properties(energies) ## ------------- ** Fitting to the data ** --------------- idx = np.arange(0, 100) estimator.fit(idx) ## ------------- ** Predicting and scoring ** --------------- score = estimator.score(idx) print("The mean absolute error is %s kJ/mol." % (str(-score)))
print(Z.shape) estimator = ARMP( iterations=10, l1_reg=0.0, l2_reg=0.0, hidden_layer_sizes=(40, 20, 10), tensorboard=True, store_frequency=10, # batch_size=400, batch_size=n_train, learning_rate=0.1, # scoring_function="mae", ) estimator.set_representations(representations=X) estimator.set_classes(Z) estimator.set_properties(Y) # idx = np.arange(0,100) # estimator.fit(idx) # score = estimator.score(idx) # estimator.fit(x=representation, y=energies, classes=zs) estimator.fit(x=X, y=Y, classes=Z) ## ------------- ** Predicting and scoring ** --------------- score = estimator.score(x=X, y=Y, classes=Z)