Ejemplo n.º 1
0
    def predict(self, query_text, predictor_list):

        preds = []

        selected_models = []

        print(predictor_list)

        for key in predictor_list:
            print(key)
            if key in self.__trained_models.keys():
                tmp_model = self.__trained_models[key]
                selected_models.append(tmp_model)

        print(selected_models)

        for (tokenizer, model) in selected_models:
            print(tokenizer)
            print(model)
            query_vectorized = Utils.create_document_term_matrix(query_text, tokenizer)
            predictions = model.predict(query_vectorized)
            prediction_vectorized = np.argmax(predictions, axis=1)
            prediction_raw = Utils.devectorize_y(prediction_vectorized, self.__label_encoder)
            preds.append(prediction_raw)

        if len(preds) == 0:
            return 'xx'

        preds = zip(*preds)
        print('preds', preds)
        prediction = Utils.most_common(preds)
        return prediction
Ejemplo n.º 2
0
    def predict_batch(self, X_test_raw, predictor_list):

        preds = []

        if(len(predictor_list) > 1):
            selected_models = operator.itemgetter(*predictor_list)(self.__trained_models)
        else:
            selected_models = [self.__trained_models[0]]

        for (tokenizer, model) in selected_models:
            X_test_vectorized = Utils.create_document_term_matrix(X_test_raw, tokenizer)
            predictions = model.predict(X_test_vectorized)
            Y_test_predicted_vectorized = np.argmax(predictions, axis=1)

            Y_test_raw = Utils.devectorize_y(Y_test_predicted_vectorized, self.__label_encoder)
            preds.append(Y_test_raw)

        preds = zip(*preds)
        Y_test_predicted = map(lambda x: Utils.most_common(x), preds)

        return Y_test_predicted