当前位置 博文首页 > longwind09,多容寡欲,千里江河:Scala学习笔记

    longwind09,多容寡欲,千里江河:Scala学习笔记

    作者:[db:作者] 时间:2021-08-27 10:11

    Scala类型继承图
    图片太小,请参见

    数据类型

    操作

    在Spark上的应用

    案例

    Beta分布随机数

    Bayes平滑计算CTR先验

    Bayes平滑计算CTR先验

    class entity(traindata: RDD[Array[Double]], outputPath: String) extends serializable {
            var a: Double = 1.0
            var b: Double = 1.0
            var da: Double = a
            var db: Double = b
            var index = 0
            def calculate(): Unit = {
                while (index < 1000 && da > 1.0E-9 && db > 1.0E-9) {
                    var x1 = 0.0
                    var y1 = 0.0
                    var x2 = 0.0
                    traindata.foreach(point => {
                        x1 += MBLAS.digamma(point(2) + 1 + a) - MBLAS.digamma(a)
                        y1 += MBLAS.digamma(point(1) + 1 + a + b) - MBLAS.digamma(a + b)
                        x2 += MBLAS.digamma(point(1) - point(2) + b) - MBLAS.digamma(b)
                        val na = a
                        val nb = b
                        a *= (x1 / y1)
                        b *= (x2 / y1)
                        da = Math.abs(a - na)
                        db = Math.abs(b - nb)
                    })
                }
            }
            println(a, b)
            analyseLog.append("---------bayes smooth---------\n")
            analyseLog.append("a=" + a).append("\n")
            analyseLog.append("b=" + b).append("\n")
            MUtils.saveString(fs, analyseLog.toString, outputPath + "/bayes_smooth")
        }

    《快学scala》

    cs