# Tech Tips

1. Uncategorized
2. 40 view

# 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. 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 &amp;amp;lt;- 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) =&amp;amp;gt; a max b }
val min_val = data.reduceLeft{ (a,b) =&amp;amp;gt; 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 =&amp;amp;gt; (x - min_val).toFloat / (max_val - min_val).toFloat)
println("after :")
println(after)
}
}```