由于有关Scikit-Learn模型在Watson ML服务上发布的当前限制,该服务不允许任何自定义变压器等(https://datascience.ibm.com.com/docs/content/Analyze-data/ml-scikit-learn.html在管道中,我最终部署了仅包含SVC分类器的管道,而不是TFIDFDECTORIOR。
这意味着,在调用Watson ML上的模型之前,我需要使用TFIDFVECTORIZER"转换"我的原始测试数据。
只要我不尝试在线部署方法(我需要,因为我希望应用程序都会向我的模型发布请求)。
)。我应该如何从tfidfvectorizer.transform中序列稀疏矩阵并将其作为JSON有效载荷传递给WML服务?
谢谢!
所以实际上,我正在回答我的问题; - )
如果您陷入必须向WML发送稀疏矩阵的情况,则可以使用
<yourmatrix>.todense().tolist()
因此,要将其放回我的初始问题的背景下,我可以发送转换的结果:
valuesList = tfidf_vectorizer.transform(test).todense().tolist()
payload_scoring = {"values": [[valuesList]]}
response_scoring = requests.post(scoringUrl, json=payload_scoring, headers=header)