URL оценки DSX говорит "Ожидаемый двумерный массив, вместо него получен одномерный массив" при отправке

У меня проблема с записной книжкой DsX Python,

Я реализовал очень простую линейную регрессию (один полином) для одной переменной-предиктора и целевой переменной.

Модель отлично работает для прогнозирования из кода Python в записной книжке, но как только я разверну ее в облаке для публикации через веб-сервисы в своем WML-сервисе, я сделаю сообщение, и произойдет следующее:

print(diabetes_X_train.shape)

payload_scoring = {"values":diabetes_X_train.tolist()}

print(payload_scoring)

Выход:

(422, 1) {'values': [[0.0616962065186885], [-0.0514740612388061], [0.0444512133365941], [-0.0115950145052127], [-0.0363846922044735], [-0.0406959404999971], [-0.0471628129432825], [-0.00189470584028465], [0.0616962065186885], [0.0390621529671896], [-0.0838084234552331], [0.0175059114895716], [-0.0288400076873072], [-0.00189470584028465], [-0.0256065714656645], [-0.0180618869484982], [0.0422955891888323], [0.0121168511201671], [-0.0105172024313319], [-0.0180618869484982], [-0.0568631216082106], [-0.0223731352440218], [-0.00405032998804645], [0.0606183944448076], [0.0358287167455469], [-0.0126728265790937], [-0.0773415510119477], [0.0595405823709267], [-0.0212953231701409], [-0.00620595413580824], [0.0444512133365941], [-0.0654856181992578], [0.125287118877662], [-0.0503962491649252], [-0.063329994051496], [-0.030995631835069], [0.0228949718589761], [0.0110390390462862], [0.0713965151836166], [0.0142724752679289], [-0.00836157828357004], [-0.0676412423470196],...

Следующая ячейка:

response_scoring = requests.post(scoring_url, json=payload_scoring, headers=header) print(response_scoring.text)

Выход:

{"trace": "6nrs0HsEE1HerigSZ", "errors": [{"code": "invalid_input_data", "message": "Expected 2D array, got 1D array instead:\narray=[ 0.06169621 -0.05147406  0.04445121 -0.01159501 -0.03638469 -0.04069594\n -0.04716281 -0.00189471  0.06169621  0.03906215 -0.08380842  0.01750591\n -0.02884001 -0.00189471 -0.02560657 -0.01806189  0.04229559  0.01211685\n -0.0105172  -0.01806189 -0.05686312 -0.02237314 -0.00405033  0.06061839\n  0.03582872 -0.01267283 -0.07734155  0.05954058 -0.02129532 -0.00620595\n  0.04445121 -0.06548562  0.12528712 -0.05039625 -0.06332999 -0.03099563\n  0.02289497  0.01103904  0.07139652  0.01427248 -0.00836158 -0.06764124\n -0.0105172  -0.02345095  0.06816308 -0.03530688 -0.01159501 -0.0730303\n

Но если я увеличу одно измерение во моих входных данных, произойдет следующее: кажется, что это не в состоянии извлечь 2D. Некоторое преобразование выполняется на стороне сервера, от двумерного jsonize до одномерного массива, который не соответствует размерности используемых обученных данных...

payload_scoring = {"values":[diabetes_X_train.tolist()]}

выход:

{"trace": "tbODFulFy7cAIMXZq", "errors": [{"code": "invalid_input_data", "message": "Found array with dim 3. Estimator expected <= 2.", "target": {"name": "values", "type": "field"}}], "status_code": 400}

Я думаю, что это может быть связано с тем фактом, что у меня есть двумерный массив в качестве входа X, который в действительности становится вектором, я пробовал другие модели, такие как классификация SVM с многомерным вводом, и этот же код публикации работает.

Кто-то в такой же ситуации? Я не могу заставить это работать.

Я также пробовал SoapUI достичь того же результата. Кажется, есть некоторые проблемы с развертыванием.

Спасибо

0 ответов

Другие вопросы по тегам