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

    功能介绍

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

    参数说明

    名称 中文名称 描述 类型 是否必须? 默认值
    optimMethod 优化方法 优化问题求解时选择的优化方法 String null
    l1 L1 正则化系数 L1 正则化系数,默认为0。 Double 0.0
    l2 正则化系数 L2 正则化系数,默认为0。 Double 0.0
    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. lr = LinearRegression().setFeatureCols(colnames).setLabelCol("label").setPredictionCol("pred")
    16. model = lr.fit(batchData)
    17. model.transform(batchData).print()

    运行结果

    f0 f1 label pred
    2 1 1 1.000014
    3 2 1 1.538474
    4 3 2 2.076934
    2 4 1 1.138446
    2 2 1 1.046158
    4 3 2 2.076934
    1 2 1 0.553842
    5 3 3 2.569250