评估调用调用端点操作时提供的有效负载

Evaluating payload provided when calling invoke endpoint operation

我正在研究 sagemaker 上的信用欺诈数据集。我正在使用线性学习器二元分类算法。我将数据分为训练集和测试集,并得到了测试集的结果。当我尝试评估训练集上的模型性能特征时,出现以下错误

 An error occurred (ModelError) when calling the InvokeEndpoint operation: Received client error 
(400) from model with message "unable to evaluate payload provided".

我提到了下面的代码

train_data = 's3://{}/{}/{}'.format(bucket, prefix, 'train/examples') #making train_data

#making test_data
test_key = "{}/test/examples".format(prefix)
s3.Bucket(bucket).download_file(test_key, 'test_data')

#preparing train channels for training the data
train_channel = sagemaker.session.s3_input(train_data, content_type='text/csv')

#training the data
linear.fit(inputs=train_channel,  logs=True)

#creating the endpoint
linear_predictor = linear.deploy(initial_instance_count=1,
                             instance_type='ml.m4.xlarge')

#getting the results on test_data
l = []
with open('test_data', 'r') as f:
for j in range(0,56962):
    single_test = f.readline()
    result = linear_predictor.predict(single_test)
    l.append(result)
    if j%10000 ==0 :
        print(j)
print(l[0:10])

#getting the results on train_data
#THE CODE BELOW IS THROWING THE ABOVE MENTIONED ERROR
q =[]
with open('train_data', 'r') as f:
for j in range(0,56962):
    single_test = f.readline()
    result = linear_predictor.predict(single_test)
    q.append(result)
    if j%10000 ==0 :
        print(j)
print(q[0:10])

我正在获取测试数据的结果。我将它存储在列表 l 中。为了获得训练集的结果,我遵循了类似的程序,但我遇到了上述错误。有人可以为此提供解决方案吗?

"unable to evaluate payload provided" 仅当输入数据格式与您创建的 ML 模型不兼容时才会出现。在这种情况下,为了获得训练集的结果,我们需要在将最后一列(标签列)传递给端点之前删除它