Apache spark Spark中不平衡类的处理

Apache spark Spark中不平衡类的处理,apache-spark,apache-spark-mllib,Apache Spark,Apache Spark Mllib,我试图通过spark mllib试验信用卡欺诈检测数据集。 我拥有的数据集有许多0(表示非欺诈),而1(表示欺诈)。 我想知道,要解决如上所述的类不平衡问题,我们是否有类似spark-like-SMOTE的可用算法。 我使用logistic回归作为模型您可以在logistic回归中尝试weightCol,如下所示: temp = train.groupby("LabelCol").count() new_train = train.join(temp, "LabelCol", h

我试图通过spark mllib试验信用卡欺诈检测数据集。 我拥有的数据集有许多0(表示非欺诈),而1(表示欺诈)。 我想知道,要解决如上所述的类不平衡问题,我们是否有类似spark-like-SMOTE的可用算法。
我使用logistic回归作为模型

您可以在logistic回归中尝试weightCol,如下所示:

    temp = train.groupby("LabelCol").count()
    new_train = train.join(temp, "LabelCol", how = 'leftouter')
    num_labels = train_data.select(countDistinct(train_data.score)).first()[0]
    train1 = new_train.withColumn("weight",(new_train.count()/(num_labels * new_train["count"])))
    # Logistic Regrestion Initiation
    lr = LogisticRegression(weightCol = "weight", family = 'multinomial')

您可以在逻辑回归中尝试weightCol,如下所示:

    temp = train.groupby("LabelCol").count()
    new_train = train.join(temp, "LabelCol", how = 'leftouter')
    num_labels = train_data.select(countDistinct(train_data.score)).first()[0]
    train1 = new_train.withColumn("weight",(new_train.count()/(num_labels * new_train["count"])))
    # Logistic Regrestion Initiation
    lr = LogisticRegression(weightCol = "weight", family = 'multinomial')

我没有试过,但我在寻找和你一样的问题的答案。我在Spark中发现了SMOTE的一个实现(未经测试/验证)。此外,还讨论了相同的问题,建议的解决方案是使用权重(),但在示例中,类并不像欺诈数据集中那样不平衡。@waltersantosf非常感谢!!我没有试过,但我在寻找和你一样的问题的答案。我在Spark中发现了SMOTE的一个实现(未经测试/验证)。此外,还讨论了相同的问题,建议的解决方案是使用权重(),但在示例中,类并不像欺诈数据集中那样不平衡。@waltersantosf非常感谢!!