• Ridge回归算法
    • 功能介绍
    • 参数说明
    • 脚本示例
      • 运行脚本
      • 运行结果

    Ridge回归算法

    功能介绍

    • Ridge回归是一个回归算法
    • Ridge回归组件支持稀疏、稠密两种数据格式
    • Ridge回归组件支持带样本权重的训练

    参数说明

    名称 中文名称 描述 类型 是否必须? 默认值
    optimMethod 优化方法 优化问题求解时选择的优化方法 String null
    lambda 希腊字母:lambda 惩罚因子,必选 Double
    reservedCols 算法保留列名 算法保留列 String[] null
    predictionCol 预测结果列名 预测结果列名 String
    vectorCol 向量列名 向量列对应的列名,默认值是null String null
    withIntercept 是否有常数项 是否有常数项,默认true Boolean true
    maxIter 最大迭代步数 最大迭代步数,默认为 100 Integer 100
    epsilon 收敛阈值 迭代方法的终止判断阈值,默认值为 1.0e-6 Double 1.0E-6
    featureCols 特征列名数组 特征列名数组,默认全选 String[] null
    labelCol 标签列名 输入表中的标签列名 String
    weightCol 权重列名 权重列对应的列名 String null
    vectorCol 向量列名 向量列对应的列名,默认值是null String null
    standardization 是否正则化 是否对训练数据做正则化,默认true Boolean true

    脚本示例

    运行脚本

    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, 3]])
    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. colnames = ["f0","f1"]
    15. ridge = RidgeRegression().setFeatureCols(colnames).setLambda(0.1).setLabelCol("label").setPredictionCol("pred")
    16. model = ridge.fit(batchData)
    17. model.transform(batchData).print()

    运行结果

    f0 f1 label pred
    2 1 1 0.830304
    3 2 1 1.377312
    4 3 2 1.924320
    2 4 1 1.159119
    2 2 1 0.939909
    4 3 2 1.924320
    1 2 1 0.502506
    5 3 3 2.361724