功能介绍

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

参数说明

名称 中文名称 描述 类型 是否必须? 默认值
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