Production Level Knowledge & Tips

  1. 未分類
  2. 8 view

[Scala]Data scaling with linear interpolation

What I want to do

I’ll try to transform data with studying Scala. I’ll do scaling data with Linear Interpolation to make data range from 0 to 1.
linearinterpol
Here is Linear Interpolation’s expression.
Calculate rate of maximum differential value with data differential value.

Source code

import scala.util.Random

object LinearInterpolation {
    def main(args: Array[String]) {
        // Make random array
        def randomArray(size:Int, max_val:Int)={
            val rand = new Random
            for (a <- 0 to size) yield rand.nextInt(max_val)
        }
        val data = randomArray(20, 100).toList
        println("values:")
        println(data)

        // Find max and min value
        val max_val = data.reduceLeft{ (a,b) => a max b }
        val min_val = data.reduceLeft{ (a,b) => a min b }
        println("max : " + max_val)
        println("min : " + min_val)

        // Do Linear Interpolation to change the range of values
        val after = data.map(x => (x - min_val).toFloat / (max_val - min_val).toFloat)
        println("after :")
        println(after)
    }
}

未分類 recent post

  1. Install sbt 1.0.0 and run sample template

  2. Visualization of Neural Network and its Train…

  3. [Machine Learning]Created docker image includ…

  4. [Node.js]How to write batch script with Node.…

  5. [Hive]Get top n items for each category

関連記事

PAGE TOP