pmml4s model.predict() возвращает массив вместо одного значения

Я использовал sklearn2pmml для сериализации моего классификатора дерева решений в файл pmml. Я использовал pmml4s в java для десериализации модели и использования ее для прогнозирования.

Я использую приведенный ниже код, чтобы сделать прогноз для одного входящего значения. Это должно вернуть либо 0/1/2/3/4/5/6.

Object[] result = model.predict(new String[]{"220"});

Массив результатов после предсказания выглядит так:

введите здесь описание изображения

Кто-нибудь знает, почему это происходит? Является ли мой способ ввода значения прогноза неправильным или что-то не так в сериализации/десериализации?


person SvanSomeren    schedule 07.05.2020    source источник
comment
Помимо прогноза, результат может содержать другие, например. вероятности каждой категории, подробнее см. в разделе Понимание значений результатов github.com/autodeployai/pmml4s   -  person PredictFuture    schedule 09.06.2020


Ответы (1)


Определенность модели для каждого класса. В вашем случае это означает, что это 4 с вероятностью 94,5% или 5 с вероятностью 5,5%. В простом случае, если вы хотите получить значение, вы должны выбрать индекс для максимального значения.

Однако вы можете использовать эти вероятности для дополнительной логики управления, такой как пороговое значение, когда решение неоднозначно (два значения с вероятностью ~ 0,4 и т. д.).

person Jakub Gąsiewski    schedule 07.05.2020
comment
Кажется странным, потому что определенность для каждого класса очень разная, когда я создаю матрицу путаницы в python. Также для конкретной библиотеки метод .predict() должен возвращать одно значение прогноза, я считаю, но я получаю этот массив... - person SvanSomeren; 07.05.2020
comment
Матрица путаницы и одиночное предсказание — две разные вещи. В вашем случае 0,945 - это достоверность модели для одного токена (220). С другой стороны, матрица путаницы — это количество (а не вероятность) совпадений между парами [метка, предсказанная_метка] для всех заданных примеров. - person Jakub Gąsiewski; 07.05.2020