h2o Steam 预测 Servlet 不接受来自 python 脚本的字符值
h2o Steam Prediction Servlet not accepting character values from python script
我正在使用 Steam 尝试使用 python 预处理脚本构建预测服务。当 python 将清理后的数据传递给
中的预测服务时
variable:value var2:value2 var3:value3
格式(如Spam Detection Example中所见)我得到一个
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
看起来服务需要一个字符串,但我不知道如何将它传递给实际模型。任何帮助将不胜感激!
预测服务正在使用 EasyPredictModelWrapper,它只能使用底层模型使用的内容。这里不清楚您使用的是什么模型,但大多数使用数字浮点值。在 for 循环代码片段中,您可以看到数字必须是浮点数。
我正在使用 Steam 尝试使用 python 预处理脚本构建预测服务。当 python 将清理后的数据传递给
中的预测服务时variable:value var2:value2 var3:value3
格式(如Spam Detection Example中所见)我得到一个
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
看起来服务需要一个字符串,但我不知道如何将它传递给实际模型。任何帮助将不胜感激!
预测服务正在使用 EasyPredictModelWrapper,它只能使用底层模型使用的内容。这里不清楚您使用的是什么模型,但大多数使用数字浮点值。在 for 循环代码片段中,您可以看到数字必须是浮点数。