功能介绍

MultiStringIndexer训练组件的作用是训练一个模型用于将多列字符串映射为整数。

参数说明

名称 中文名称 描述 类型 是否必须? 默认值
handleInvalid 未知token处理策略 未知token处理策略。”keep”表示用最大id加1代替, “skip”表示补null, “error”表示抛异常 String “keep”
selectedCols 选择的列名 计算列对应的列名列表 String[]
stringOrderType Token排序方法 Token排序方法 String “random”
selectedCols 选择的列名 计算列对应的列名列表 String[]
reservedCols 算法保留列名 算法保留列 String[] null
outputCols 输出结果列列名数组 输出结果列列名数组,可选,默认null String[] null

脚本示例

脚本代码

  1. data = np.array([
  2. ["football"],
  3. ["football"],
  4. ["football"],
  5. ["basketball"],
  6. ["basketball"],
  7. ["tennis"],
  8. ])
  9. df_data = pd.DataFrame({
  10. "f0": data[:, 0],
  11. })
  12. data = dataframeToOperator(df_data, schemaStr='f0 string', op_type='batch')
  13. stringindexer = MultiStringIndexer() \
  14. .setSelectedCols(["f0"]) \
  15. .setOutputCols(["f0_indexed"]) \
  16. .setStringOrderType("frequency_asc")
  17. stringindexer.fit(data).transform(data).print()

脚本运行结果

模型表:

  1. f0 f0_indexed
  2. 0 football 2
  3. 1 football 2
  4. 2 football 2
  5. 3 basketball 1
  6. 4 basketball 1
  7. 5 tennis 0