功能介绍

逻辑回归算法,二分类算法。

算法参数

名称 中文名称 描述 类型 是否必须? 默认值
optimMethod 优化方法 优化问题求解时选择的优化方法 String null
l1 L1 正则化系数 L1 正则化系数,默认为0。 Double 0.0
l2 正则化系数 L2 正则化系数,默认为0。 Double 0.0
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
predictionCol 预测结果列名 预测结果列名 String
predictionDetailCol 预测详细信息列名 预测详细信息列名 String
reservedCols 算法保留列名 算法保留列 String[] null

脚本示例

脚本

  1. import numpy as np
  2. import pandas as pd
  3. data = np.array([
  4. [2, 1, 1],
  5. [3, 2, 1],
  6. [4, 3, 2],
  7. [2, 4, 1],
  8. [2, 2, 1],
  9. [4, 3, 2],
  10. [1, 2, 1],
  11. [5, 3, 2]])
  12. df = pd.DataFrame({"f0": data[:, 0],
  13. "f1": data[:, 1],
  14. "label": data[:, 2]})
  15. batchData = dataframeToOperator(df, schemaStr='f0 int, f1 int, label int', op_type='batch')
  16. colnames = ["f0","f1"]
  17. lr = LogisticRegression().setFeatureCols(colnames).setLabelCol("label").setPredictionCol("pred")
  18. model = lr.fit(batchData)
  19. model.transform(batchData).print()

运行结果

f0 f1 label pred
2 1 1 1
3 2 1 1
4 3 2 2
2 4 1 1
2 2 1 1
4 3 2 2
1 2 1 1
5 3 2 2