Apache spark Spark ML中的Param[]和Params[]是什么

Apache spark Spark ML中的Param[]和Params[]是什么,apache-spark,apache-spark-mllib,apache-spark-ml,Apache Spark,Apache Spark Mllib,Apache Spark Ml,作为一个统计人员,Spark ML库中Param和Params类的逻辑让我很困惑。由于基础类 PlurnStEAGE扩展了PARAMS < /Cl>,而变压器/估计器(这意味着机器学习算法对我来说)是子类 PluleStase。所以Params不仅仅是一个简单的类,它代表了一些机器学习参数?对管道中某些参数的访问需要特定的父级要求。我真的很迷茫这是怎么发生的 对Param有什么合乎逻辑的解释吗?谢谢!这真让我困惑。我也被这两个概念弄糊涂了。以下是我对这两方面的理解: Param位于扩展annot

作为一个统计人员,Spark ML库中
Param
Params
类的逻辑让我很困惑。由于基础类<代码> PlurnStEAGE扩展了PARAMS < /Cl>,而变压器/估计器(这意味着机器学习算法对我来说)是子类<代码> PluleStase。所以
Params
不仅仅是一个简单的类,它代表了一些机器学习参数?对管道中某些参数的访问需要特定的父级要求。我真的很迷茫这是怎么发生的


对Param有什么合乎逻辑的解释吗?谢谢!这真让我困惑。

我也被这两个概念弄糊涂了。以下是我对这两方面的理解:

Param
位于扩展
annotation

Params
在包
org.apache.spark.ml.param
中,该包是

获取参数的组件的特性。这也提供了一个 用于存储附加到实例的参数值的内部参数映射

尽管
Params
是一个接口,但在DeveloperApi中,您可以使用

/**
 * :: DeveloperApi ::
 * A param with self-contained documentation and optionally default value. Primitive-typed param
 * should use the specialized versions, which are more friendly to Java users.
 *
 * @param parent parent object
 * @param name param name
 * @param doc documentation
 * @param isValid optional validation method which indicates if a value is valid.
 *                See [[ParamValidators]] for factory methods for common validation functions.
 * @tparam T param value type
 */
    class Param[T](val parent: String, val name: String, val doc: String, val isValid: T => Boolean)
      extends Serializable