美文网首页
使用spark ml做离散化(分位数离散化)

使用spark ml做离散化(分位数离散化)

作者: 程序媛啊 | 来源:发表于2022-06-22 18:24 被阅读0次

    单列离散化:

    val discretizer = new QuantileDiscretizer()
            .setHandleInvalid("keep")
            .setInputCol("id")
            .setOutputCol("id_discretizer")
            .setNumBuckets(20)
    val result = discretizer.fit(itemdf).transform(itemdf)
    result.show(false)
    

    多列同时离散化:

    val itemDiscretizerCols = Array("id", "name", "score", "gender")
    //使用pipeline一次转换
    val indexers = itemDiscretizerCols.map(col => {
        new QuantileDiscretizer()
                .setHandleInvalid("keep")
                .setInputCol(col)
                .setOutputCol(col + "_discretizer")
                .setNumBuckets(20)
    })
    val itemDiscretizationDF = new Pipeline().setStages(indexers).fit(itemdf).transform(itemdf).cache()
    itemDiscretizationDF.show()
    

    不同离散化方式:http://www.javashuo.com/article/p-hnamuksv-ec.html

    相关文章

      网友评论

          本文标题:使用spark ml做离散化(分位数离散化)

          本文链接:https://www.haomeiwen.com/subject/kfuuvrtx.html