In [1]:
:load KrapshDisplays KrapshDagDisplay

In [2]:
:extension DeriveGeneric
:extension FlexibleContexts
:extension OverloadedStrings
:extension GeneralizedNewtypeDeriving
:extension FlexibleInstances
:extension MultiParamTypeClasses

In [3]:
import Spark.Core.Dataset
import Spark.Core.Context
import Spark.Core.Column
import Spark.Core.ColumnFunctions
import Spark.Core.Functions
import Spark.Core.Row
import Spark.Core.Types
import Spark.Core.Try

import qualified Data.Vector as V
import qualified Data.Text as T
import GHC.Generics

In [4]:
myScaler :: Column ref Double -> Column ref Double
myScaler col =
  let cnt = asDouble (countCol col)
      m = sumCol col / cnt
      centered = col .- m
      stdDev = sumCol (centered * centered) / cnt
  in centered ./ stdDev

In [5]:
:t myScaler


myScaler :: forall ref. Column ref Double -> Column ref Double

In [6]:
let ds = dataset [-1, 1] :: Dataset Double
let c = myScaler (asCol ds)

In [7]:
let ds2 = pack1 c

In [8]:
showGraph ds2



In [ ]: