问题
你有一个毫升模型,文档作为输入,具体地说,一个字符串数组。
您使用一个特征提取器TfidfVectorizer将文档转换为一个字符串数组,数组摄取到模型中。
模型训练,预测发生在笔记本,但是模型服务不返回JSON输入的预期结果。
导致
TfidfVectorizer预计一个文件作为输入数组。
砖将输入转换为熊猫DataFrames,TfidfVectorizer不正确的过程。
解决方案
您必须创建一个定制的变压器,并将它添加到管道。
例如,下面的示例代码检查DataFrames的输入。如果找到一个DataFrame,第一列是转换为一个数组的文件。然后传递给文档的数组TfidfVectorizer在摄取到模型中。
% python类DataFrameToDocs (): def变换(自我,input_df):导入熊猫pd如果isinstance (input_df pd.DataFrame):返回input_df [0]。价值观:返回input_df def适合(自我,X, y = None, * * fit_params):返回自我步骤= [(dftodocs, DataFrameToDocs ()), (tfidf, TfidfVectorizer ()), (nb_clf, MultinomialNB()))管道=管道(步骤)