我正在使用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',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中。为了获得训练集上的结果,我遵循了类似的过程,但是遇到了上述错误。有人可以为此提供解决方案吗?