首页 > 解决方案 > 机器学习 Joblib 预测

问题描述

我从这个 repo github repo中得到了一些保存的模型,我正在尝试从模型中进行预测,我是机器学习的新手。这就是我所拥有的。

这是我正在使用的笔记本

import joblib
from sklearn.feature_extraction.text import CountVectorizer
import numpy as np
from sklearn.preprocessing import OneHotEncoder
import pandas as pd

model_mnb = joblib.load("/content/decision_tree.joblib")
model_dec = joblib.load("/content/gradient_boost.joblib")
model_gra = joblib.load("/content/mnb.joblib")
model_forest = joblib.load("/content/random_forest.joblib")

print(model_mnb, model_dec, model_gra, model_forest)

sample = ["I have Fever", "I have headache", "I have sore limbs"]

encoder = OneHotEncoder(sparse=False)
test_data = encoder.fit_transform(sample)
model_mnb.predict(test_data)

我正进入(状态:

ERROR:  Expected 2D array, got 1D array instead:

标签: pythonmachine-learningartificial-intelligenceone-hot-encodingjoblib

解决方案


这很可能是因为您的样本变量是一个样本。如果要预测多个样本,则需要一个嵌套列表,这可能是 predict() 函数所期望的。尝试在您的 test_data 变量周围添加一对方括号,或者在示例变量的前面添加一个方括号。


推荐阅读