Я использую Steam, чтобы попытаться создать службу прогнозирования с использованием сценария предварительной обработки Python. Когда python передает очищенные данные службе прогнозирования в
variable:value var2:value2 var3:value3
формате (как видно из обнаружения спама Пример) я получаю
ERROR PredictPythonServlet - Failed to parse
ошибка в сервисе. Когда я смотрю на PredictPythonServlet.java кажется, что он использует только функцию strMapToRowData
, которая предполагает, что каждое значение во входной строке является числом:
for (String p : pairs) {
String[] a = p.split(":");
String term = a[0];
double value = Float.parseFloat(a[1]);
row.put(term, value);
}
Символьные значения нельзя отправлять в этом формате? Если да, то есть ли способ заставить файл PredictPythonServlet
использовать функцию csvToRowData
, которая определена, но никогда не использовалась? Я бы не хотел использовать кодировку One-Hot для своих моделей, поэтому было бы идеально иметь возможность передавать фактическое представление строки символов.
Кроме того, я передал числовое представление, найденное в файле pojo модели, для категориальных переменных и получил ошибку:
hex.genmodel.easy.exception.PredictUnknownTypeException: Unexpected object type java.lang.Double for categorical column home_team
Итак, похоже, что служба ожидает строку символов, но я не могу понять, как передать ее реальной модели. Любая помощь будет принята с благодарностью!