我在PySpark ML中定义了一个二进制的LogisticRegression管道,用于一个基本上不平衡的数据集。
lr = LogisticRegression(maxIter=10, regParam=0.001, weightCol="weight")
API包含用于weightCol ='weight'的选项,我想将其用于不平衡数据集。 Pyspark 2.3.0的文档。
weightCol = Param(parent ='undefined',name ='weightCol',doc ='weight column name。如果未设置或为空,我们将所有实例的权重视为1.0。']
是,非常冗长...
这是样品重量还是班级重量?
我在文档的其他地方找不到与此有关的任何信息。
Spark文档含糊不清,尤其是在Python方面,通常最好的选择是Scala源代码:https://github.com/apache/spark/blob/992447fb30ee9ebb3cf794f2d06f4d63a2d792db/mllib/src/main/scala/org/apache/spark/ml/classification/LogisticRegression.scala#L491
这里没有过多挖掘,权重似乎是行级上应用的Double
列,所以我要使用sample权重。