将测试数据点传递到sci-kit时出错,在AWS-Sagemaker内部创建了<endpoint> .predict()函数

时间:2019-12-08 12:42:57

标签: amazon-web-services scikit-learn amazon-sagemaker

我在AWS Sagemaker中创建了一个scikit学习模型终结点。我想使用此端点对测试集进行预测。我的端点创建代码看起来像

predictor = sklearn.deploy(1, 'ml.m4.xlarge')
from sagemaker.predictor import csv_serializer
predictor.content_type = 'text/csv'
predictor.serializer = csv_serializer
predictor.deserializer = None

当我通过测试数据点作为列表predictor.predict(l)(其中l是列表)时,它将引发错误

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

当我将其作为2维的numpy数组传递时(我使用.ndim检查尺寸),它仍然会引发相同的错误。当我尝试将数据作为用逗号分隔且没有任何空格的字符串传递时,它仍会引发相同的错误。

 Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.

每次抛出Valueerror时都会显示此行,但是即使在重塑后,相同的错误仍然存​​在。

因此,我尝试了'2,3,4,5'['2,3,4,5']array[[2,3,4,5]][2,3,4,5]格式,但是这些都不起作用。 有人可以为sci-kit学习的预测函数输入正确的格式吗?

0 个答案:

没有答案