全部产品
机器学习PAI

FAQ

更新时间:2017-06-07 13:26:11   分享:   

Q1:算法平台是否支持单节点运行或部分组件运行功能?
答:支持,点击右键,选择“单点运行”或“从此处运行”,“运行到此处”

Q2:随机采样报错:sample count is larger or equal with row num,为什么?
答:不放回采样时随机采样的样本数不得多于数据条数。解决方案:参数设置->采样个数,调整参数即可

Q3:归一化报错 symbol nan not found in column-name-array, expr: (poutcome-NaN)/NaN,为什么?
详细的报错信息
答:归一化的组件,支持double 与 bigint类型,不支持string类型

Q4:模型生成后连ODPS目标为什么连不上?
screenshot
答:ODPS目标是存储表数据,算法节点的输出是模型,仅能连接预测组件,生成的模型可以在模型栏看到,不需要再接一个ODPS目标。所有的模型皆是如此

Q5:如何区分不同参数下同时生成的的多个随机森林?
screenshot
答:在组件运行前对各个随机森林组件重命名进行区分,运行结束后能较清楚的看到生成的对应模型,如下图:
screenshot

Q6:GDBT回归与排序,报错labelCol:poutcome is not numeric,为什么?
详细的错误信息

[2] FAILED: Failed Task checkParameters:[string "function split(s, spliter)..."]:103: labelCol:poutcome is not numeric

答:GBDT的输入列与标签列只支持Bigint 与 double类型,不支持string类型

Q7:GBDT报错:User Error-gbdt only support numeric feature,为什么?
详细错误信息

[2] FAILED: Failed 20150429160015f8aa9826_9914_41eb_8a7f_ae12700ae4cf:ODPS-1202005:Algo Job Failed-UnretryableException: User Error-gbdt only support numeric feature

答:GBDT的输入列与标签列只支持bigInt 与 double 类型,不支持string类型

Q8:如何删除已生成的模型?
答:有两种方案:
方案1:直接在命令端执行 DROP OFFLINEMODEL [IF EXISTS] <offline_model_name>;

  • offline_model_name是要删除的模型名

方案2:通过算法平台UI端来进行删除。进入模型管理,点击同步(见下图),可以同步本Project下所有的模型,选择你要删除的模型,删除即可。多选后支持批量删除。
screenshot

Q9:如何将pai命令生成的模型同步到算法平台?
答:参考Q8方案2的示例图片,在算法平台上点击同步按钮,可以实现。但此方法同步的模型在算法平台上不支持模型查看。

  • 注意:算法平台上生成的模型暂时只支持查看随机森林和逻辑回归。

Q10:加权采样如何使正样本采样概率大一点?
答:建议先transfrom,造出权重列,然后再用appendcolumns,把权重列和原表拼成新表后进行

Q11:做ROC曲线时,标签列是二分类,为什么日志里会报错误:param goodvalue not found?
答:ROC曲线只支持标签列为二分类,必须要接收到一个目标基准值(也就是goodvalue)后,才能对生成的模型进行评估。用户在做预测时参数应该设置成自定义——二分类,并指定目标基准值(如图)。否则会报以上错误。
screenshot

  • 目标基准值需指定二分类标签列中的value
  • GBDT回归与排序不支持ROC曲线

Q12:运行随机森林时报错如下,为什么?

[2] FAILED: Failed 20150505112438af853b4a_61d9_43fa_95cf_f6c75c6599c9:ODPS-1202005:Algo Job Failed-UnretryableException: User Error-attribute user_id group is more than 70000

答:随机森林不支持分类类别超过70000,当超过时可考虑回归

Q13:运行逻辑回归时报错如下,为什么?

FAILED: Failed 20150505113107aaf1069e_ae82_493a_82eb_16daefc65f07:ODPS-1202005:Algo Job Failed-UnretryableException: User Error-Invalid table schema

答:逻辑回归的输入列和标签列不支持string型,换成数字型即可。

  • 注意:模型的输入和标签列要谨慎选择,输入支持类型可参考具体组件文档

Q14:组件运行时日志项出现 No task resources left in the project,为什么?
答:用户的每个project只能跑3个task,每个task里能跑800个instance,多了就会报No task resources的错误,可在数据开发台用如下命令解决,步骤如下:

  • step1:show p——看所有的task;
  • step2:status instance——看instance状态;
  • step3:kill instance——关掉在执行的某个暂时不用的instance;
  • 注意:若要查看几天前的instance,可以采用show p from date1 to date2 number,eg:show p from 2015-5-20 to 2015-5-22 2000,再一次重复step2和step3

Q15:如何查看或者查杀正在运行的任务?
答:参考Q14

Q16:浏览器登录超时后数据开发台的日志无法查看,怎么办?
答:可在数据开发台输入如下示例指令:

  desc instance 20150624121855110grormr06  
  wait 20150624121855110grormr06
  • 注意:示例指令中20150624121855110grormr06是用户的某个instance id,使用时根据需求自行更改。

Q17:模型预测组件报错:DataValue has no double value,为什么?
答:请检查模型训练输入表与模型预测输入表的字段信息是否一致,若不致,会报上述错误。具体检查方法,在数据开发台用 'desc 表名'语句查看训练表和预测表的字段类型。

Q18:随机森林中我设置的树的最大深度是10,为什么最后生成的树的深度不到10?
答:随机森林生成的模型中,树的深度和数据本身、数据量以及feature都有关系,只能限制最大深度,无法确定每一次实验生成的树的具体深度

Q19:算法平台输入列最多只可以输入1024列,超过后会报错:java.lang.Exception: java.lang.Exception: input selectedColNum shoud be less than 1024! 为什么?
答:ODPS底层只支持最多输入1024列进行处理。
如果用户输入列超过1024列,比如用1500列做归一化处理,可采用两个归一化组件,先处理1000列,再处理剩下的500列,如图:
img

Q20:算法平台合并列功能,如何确定的那两行的列合并在一起?
答:若是一张表,要合并其中的列a,列b,可选择如下图方法,左边输出列选择列a,右表输出列选择列b即可。多张表合并其中的某些列思路也是如此。
img

Q21:算法平台中模型如何处理空值null?是忽略这一列的所有数据,还是给空值赋一个默认值?
答:若feature有null值,训练算法不识别,可能会报错。如果null有特殊意义,请使用缺省值填充组件,将其转成算法认识的值。

Q22:pai命令实现GBDT回归与预测模型,做预测时,DsplitCharacteristic参数如何设置?
答:DsplitCharacteristic参数是对二分类和多分类的一个定义,二分类时,DsplitCharacteristi=1,多分类时,DsplitCharacteristi=2. GBDT回归与排序是一个回归模型,不涉及到分类问题,跑pai命令时默认写成DsplitCharacteristi=2,后台处理时会自动过滤掉。另外,若是直接在web端连接组件跑任务,对应预测组件参数应保持“默认”,不需要勾选“自定义”。

Q23:GBDT回归与排序组件为什么做混淆矩阵及ROC曲线计算时会报错?
答“GBDT回归与排序模型属于回归模型,不能做混淆矩阵和ROC曲线计算。混淆矩阵及ROC曲线是针对分类模型计算的。

Q24: 逻辑回归模型报错FAILED: Failed Task getTargetValues:[string "function split(s, spliter)..."]:149: Too many classes and logistic regression can not support.为什么?
答:模型做多分类预测时,分类最多支持100维,若分类的label列value超过100个,则会报上述错误。

本文导读目录
本文导读目录
以上内容是否对您有帮助?