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

    功能介绍

    多层感知机多分类模型

    参数说明

    名称 中文名称 描述 类型 是否必须? 默认值
    layers 神经网络层大小 神经网络层大小 int[]
    blockSize 数据分块大小,默认值64 数据分块大小,默认值64 Integer 64
    initialWeights 初始权重值 初始权重值 DenseVector null
    vectorCol 向量列名 向量列对应的列名,默认值是null String null
    featureCols 特征列名数组 特征列名数组,默认全选 String[] null
    labelCol 标签列名 输入表中的标签列名 String
    maxIter 最大迭代步数 最大迭代步数,默认为 100 Integer 100
    epsilon 收敛阈值 迭代方法的终止判断阈值,默认值为 1.0e-6 Double 1.0E-6
    l1 L1 正则化系数 L1 正则化系数,默认为0。 Double 0.0
    l2 正则化系数 L2 正则化系数,默认为0。 Double 0.0
    vectorCol 向量列名 向量列对应的列名,默认值是null String null
    predictionCol 预测结果列名 预测结果列名 String
    predictionDetailCol 预测详细信息列名 预测详细信息列名 String
    reservedCols 算法保留列名 算法保留列 String[] null

    脚本示例

    脚本代码

    1. URL = "http://alink-dataset.cn-hangzhou.oss.aliyun-inc.com/csv/iris.csv"
    2. SCHEMA_STR = "sepal_length double, sepal_width double, petal_length double, petal_width double, category string";
    3. data = CsvSourceBatchOp().setFilePath(URL).setSchemaStr(SCHEMA_STR)
    4. mlpc = MultilayerPerceptronClassifier() \
    5. .setFeatureCols(["sepal_length", "sepal_width", "petal_length", "petal_width"]) \
    6. .setLabelCol("category") \
    7. .setLayers([4, 5, 3]) \
    8. .setMaxIter(20) \
    9. .setPredictionCol("pred_label") \
    10. .setPredictionDetailCol("pred_detail")
    11. mlpc.fit(data).transform(data).firstN(4).print()

    脚本运行结果

    1. sepal_length sepal_width ... pred_label pred_detail
    2. 0 5.1 3.5 ... Iris-setosa {"Iris-versicolor":4.847903295060146E-12,"Iris...
    3. 1 5.0 2.0 ... Iris-versicolor {"Iris-versicolor":0.5316800097281505,"Iris-vi...
    4. 2 5.1 3.7 ... Iris-setosa {"Iris-versicolor":9.36626517454266E-10,"Iris-...
    5. 3 6.4 2.8 ... Iris-virginica {"Iris-versicolor":0.19480380926794844,"Iris-v...