np.where не работает внутри функции, но снаружи она работает - PullRequest
0 голосов
/ 15 ноября 2018

Ниже мой код, что я пытаюсь.У меня есть файл словаря и модели выбора. Я загружаю их оба и проверяю прогноз, но после этого я хочу получить оценку также, поэтому я использую следующий код, в котором можно найти индекс прогнозируемой строки вmodel.classes_ Я использую модуль np.where, но он не работает внутри функции, но вне ее работает.

Мой код:

    import os

    import numpy as np
    from sklearn.externals import joblib

    def predict_score(vect, model, search_key):
        prediction = ''
        index = ''
        score = ''

        prediciton = model.predict(vect.transform([search_key]))[0]
        index = np.squeeze(np.where(model.classes_ == prediction)) 
        # this line block is giving **(array([], dtype=int64),)**
        score = model.predict_proba(vect.transform([search_key]))[:, 
         index][0]

         return prediciton, score


    vect = joblib.load(r'vect.pkl')
    model = joblib.load(r'model.pkl')

    print(predict_score(vect, model, 'Help to predict me'))
    print(np.where(model.classes_ == predict_score(vect, model, 'Help to 
    predict me')[0])) 
    # this is working as expected **(array([42], dtype=int64),)**
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...