• ftrl训练
    • 功能介绍
    • 参数说明
    • 脚本示例
      • 运行脚本
      • 运行结果

    ftrl训练

    功能介绍

    该组件是一个在线学习的组件,支持在线实时训练模型。

    参数说明

    名称 中文名称 描述 类型 是否必须? 默认值
    labelCol 标签列名 输入表中的标签列名 String
    vectorCol 向量列名 向量列对应的列名,默认值是null String null
    vectorSize 向量长度 向量的长度 Integer
    featureCols 特征列名数组 特征列名数组,默认全选 String[] null
    withIntercept 是否有常数项 是否有常数项,默认true Boolean true
    timeInterval 时间间隔 数据流流动过程中时间的间隔 Integer 1800
    l1 L1 正则化系数 L1 正则化系数,默认为0。 Double 0.0
    l2 正则化系数 L2 正则化系数,默认为0。 Double 0.0
    alpha 希腊字母:阿尔法 经常用来表示算法特殊的参数 Double 0.1
    beta 希腊字母:贝塔 经常用来表示算法特殊的参数 Double 1.0

    脚本示例

    运行脚本

    1. data = np.array([
    2. [2, 1, 1],
    3. [3, 2, 1],
    4. [4, 3, 2],
    5. [2, 4, 1],
    6. [2, 2, 1],
    7. [4, 3, 2],
    8. [1, 2, 1],
    9. [5, 3, 2]])
    10. df = pd.DataFrame({"f0": data[:, 0],
    11. "f1": data[:, 1],
    12. "label": data[:, 2]})
    13. batchData = dataframeToOperator(df, schemaStr='f0 int, f1 int, label int', op_type='batch')
    14. streamData = dataframeToOperator(df, schemaStr='f0 int, f1 int, label int', op_type='stream')
    15. model = LogisticRegressionTrainBatchOp() \
    16. .setFeatureCols(["f0", "f1"]) \
    17. .setLabelCol("label") \
    18. .setMaxIter(5).linkFrom(batchData);
    19. models = FtrlTrainStreamOp(model) \
    20. .setFeatureCols(["f0", "f1"]) \
    21. .setLabelCol("label") \
    22. .setTimeInterval(1) \
    23. .setAlpha(0.1) \
    24. .setBeta(0.1) \
    25. .setL1(0.1) \
    26. .setL2(0.1).setVectorSize(2).setWithIntercept(True) \
    27. .linkFrom(streamData);
    28. FtrlPredictStreamOp(model) \
    29. .setPredictionCol("pred") \
    30. .setReservedCols(["label"]) \
    31. .setPredictionDetailCol("details") \
    32. .linkFrom(models, streamData).print()
    33. StreamOperator.execute()

    运行结果

    1. label pred details
    2. 1 1 {"1":"0.9999917437501057","2":"8.2562498943117...
    3. 1 1 {"1":"0.965917838185468","2":"0.03408216181453...
    4. 2 2 {"1":"0.00658782416074899","2":"0.993412175839...
    5. 1 1 {"1":"0.9810760570397847","2":"0.0189239429602...
    6. 1 1 {"1":"0.9998904582473768","2":"1.0954175262323...
    7. 2 2 {"1":"0.00658782416074899","2":"0.993412175839...
    8. 1 1 {"1":"0.9999996598523875","2":"3.4014761252088...
    9. 2 2 {"1":"2.0589409516880153E-5","2":"0.9999794105...