AttributeError: объект numpy.ndarray не имеет атрибута предсказать

Я пытаюсь найти прогнозируемое значение Y (вывод числовой) с входными данными x, используя строки (например, тип бизнеса, отдел и регион). После использования:

print(model.predict([['Finance and Control'], ['EMEA'], ['Professional Services']]))

он вернул эту ошибку: AttributeError: 'numpy.ndarray' object has no attribute 'predict'

import pickle
model = pickle.load(open('model3.pkl','rb'))
print(model.predict([['Finance and Control'], ['EMEA'], ['Professional Services']]))

Образец массива после OHE


person Vincent Teo    schedule 09.09.2019    source источник
comment
потенциально полезно: datascience.stackexchange.com/questions/25673/   -  person Derek Eden    schedule 09.09.2019


Ответы (1)


Я столкнулся с подобной проблемой, хотя без дополнительного контекста я не уверен, что наши ошибки связаны с той же проблемой. Однако решение, к которому я пришел, может помочь кому-то в будущем, когда они пойдут в кроличью нору SO.

Используя sklearn-0.20,

import joblib
model = joblib.load('model.pkl')
model.predict(previously_loaded_data)

В результате

AttributeError: 'numpy.ndarray' object has no attribute 'predict'

Однако следующее позволило мне загрузить фактическую модель и использовать ее метод прогнозирования:

from sklearn.externals import joblib
model = joblib.load('model.pkl')
model.predict(previously_loaded_data)

sklearn.externals.joblib устарело с sklearn-0.23+, но для моего варианта использования требуется sklearn-0.20.

person hadster94    schedule 07.11.2020