功能介绍

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

参数说明

名称 中文名称 描述 类型 是否必须? 默认值
modelName 模型名字 模型名字 String
handleInvalid 未知token处理策略 未知token处理策略。”keep”表示用最大id加1代替, “skip”表示补null, “error”表示抛异常 String “keep”
selectedCol 选中的列名 计算列对应的列名 String
stringOrderType Token排序方法 Token排序方法 String “random”
selectedCol 选中的列名 计算列对应的列名 String
reservedCols 算法保留列名 算法保留列 String[] null
outputCol 输出结果列 输出结果列列名,可选,默认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 = StringIndexer() \
  14. .setSelectedCol("f0") \
  15. .setOutputCol("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