training_percentage = 0.8  # % of data used for training the model
        sleep_stages_train, sleep_stages_test = np.split(
            sleep_stages, [int(training_percentage * sleep_stages.shape[0])])
        epoch_codes_train, epoch_codes_test = np.split(
            epoch_codes, [int(training_percentage * epoch_codes.shape[0])])

        #print(epoch_codes_train)
        #print("Now printing weird stuff...")
        #weird = Counter(zip(sleep_stages_train, epoch_codes_train)).items()
        #print(weird)
        hmm = HMM(nr_states, nr_groups)
        #print(sleep_stages_train)
        #print(epoch_codes_train)
        hmm.train(sleep_stages_train, epoch_codes_train)
        x = hmm.get_state_sequence(epoch_codes_test)
        '''

        sleep_stages_train = np.array(sleep_stages_train)
        epoch_codes_train = np.array(epoch_codes_train)
        sleep_stages_train = np.reshape(sleep_stages_train, ((115,1)))
        epoch_codes_train = np.reshape(epoch_codes_train, ((115,1)))

        print(sleep_stages_train.shape)
        print(epoch_codes_train.shape)
        print(epoch_codes_train)
        model = RandomForestClassifier()
        model.fit(sleep_stages_train, epoch_codes_train)
        x = model.predict(epoch_codes_test)
        '''