在数据框中创建假异常-pyspark

时间:2018-12-09 12:46:53

标签: apache-spark pyspark apache-spark-sql apache-spark-ml

为了实施无监督的随机森林学习-我想将训练后的数据标记为clean,并基于该数据创建伪造数据,但其功能之间存在异常,因此该模型会将这些行检测为异常。 在功能列(矢量)上跟随rdd可以完成类似的操作:

columns = df.first()
new_df = None
for i in range(0, len(columns)):
    column = df.sample(withReplacement=True, fraction=fraction) \
        .map(lambda row: row[i]) \
        .zipWithIndex() \
        .map(lambda e: (e[1], [e[0]]))
    if new_df is None:
        new_df = column
    else:
        new_df = new_df.join(column)
        new_df = new_df.map(lambda e: (e[0], e[1][0] + e[1][1]))
return new_df.map(lambda e: e[1])

但是我想用dataframe API而不是rdd来实现它。 任何人都有线索怎么做? 我认为使用dataframe api执行此操作在pyspark上会快很多。...

0 个答案:

没有答案