功能介绍

基于StringIndexer模型,将一列整数映射为字符串。

参数说明

名称 中文名称 描述 类型 是否必须? 默认值
modelName 模型名字 模型名字 String
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 = StringIndexerTrainBatchOp() \
  14. .setModelName("string_indexer_model") \
  15. .setSelectedCol("f0") \
  16. .setStringOrderType("frequency_asc")
  17. model = stringIndexer.linkFrom(data)
  18. string2int = StringIndexerPredictBatchOp() \
  19. .setSelectedCol("f0").setOutputCol("f0_indexed")
  20. indexed = string2int.linkFrom(model, data)
  21. predictor = IndexToStringPredictBatchOp().setSelectedCol("f0_indexed").setOutputCol("f0_indxed_unindexed");
  22. predictor.linkFrom(model, indexed).print()

脚本运行结果

  1. f0|f0_indexed|f0_indxed_unindexed
  2. --|----------|-------------------
  3. football|2|football
  4. football|2|football
  5. football|2|football
  6. basketball|1|basketball
  7. basketball|1|basketball
  8. tennis|0|tennis