isarn-sketches-algebird-api


License

License

GroupId

GroupId

org.isarnproject
ArtifactId

ArtifactId

isarn-sketches-algebird-api_2.10
Last Version

Last Version

0.1.1
Release Date

Release Date

Type

Type

jar
Description

Description

isarn-sketches-algebird-api
isarn-sketches-algebird-api
Project URL

Project URL

https://github.com/isarn/isarn-sketches-algebird-api
Project Organization

Project Organization

org.isarnproject
Source Code Management

Source Code Management

https://github.com/isarn/isarn-sketches-algebird-api

Download isarn-sketches-algebird-api_2.10

How to add to project

<!-- https://jarcasting.com/artifacts/org.isarnproject/isarn-sketches-algebird-api_2.10/ -->
<dependency>
    <groupId>org.isarnproject</groupId>
    <artifactId>isarn-sketches-algebird-api_2.10</artifactId>
    <version>0.1.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.isarnproject/isarn-sketches-algebird-api_2.10/
implementation 'org.isarnproject:isarn-sketches-algebird-api_2.10:0.1.1'
// https://jarcasting.com/artifacts/org.isarnproject/isarn-sketches-algebird-api_2.10/
implementation ("org.isarnproject:isarn-sketches-algebird-api_2.10:0.1.1")
'org.isarnproject:isarn-sketches-algebird-api_2.10:jar:0.1.1'
<dependency org="org.isarnproject" name="isarn-sketches-algebird-api_2.10" rev="0.1.1">
  <artifact name="isarn-sketches-algebird-api_2.10" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.isarnproject', module='isarn-sketches-algebird-api_2.10', version='0.1.1')
)
libraryDependencies += "org.isarnproject" % "isarn-sketches-algebird-api_2.10" % "0.1.1"
[org.isarnproject/isarn-sketches-algebird-api_2.10 "0.1.1"]

Dependencies

compile (3)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.10.6
org.isarnproject : isarn-sketches_2.10 jar 0.1.1
com.twitter : algebird-core_2.10 jar 0.13.0

provided (2)

Group / Artifact Type Version
org.scoverage : scalac-scoverage-runtime_2.10 jar 1.0.4
org.scoverage : scalac-scoverage-plugin_2.10 jar 1.0.4

test (3)

Group / Artifact Type Version
org.isarnproject : isarn-scalatest_2.10 jar 0.0.2
org.scalatest : scalatest_2.10 jar 2.2.4
org.apache.commons : commons-math3 jar 3.6.1

Project Modules

There are no modules declared in this project.

isarn-sketches-algebird-api

Type-classes to interface isarn-sketches with Algebird

API documentation

https://isarn.github.io/isarn-sketches-algebird-api/latest/api/

How to use in your project

libraryDependencies += "org.isarnproject" %% "isarn-sketches-algebird-api" % "0.1.2"

This package builds against some % Provided dependencies, which you may need to include:

libraryDependencies += "org.isarnproject" %% "isarn-sketches" % "0.1.2"
libraryDependencies += "com.twitter" %% "algebird-core" % "0.13.4"

Algebird Aggregators with TDigest

scala> import org.isarnproject.sketchesAlgebirdAPI.AlgebirdFactory
import org.isarnproject.sketchesAlgebirdAPI.AlgebirdFactory

scala> val data = Vector.fill(10000) { scala.util.Random.nextGaussian() }
data: scala.collection.immutable.Vector[Double] = Vector(-0.17214021856256478, 1.1041922756714304, ...

scala> val agg = AlgebirdFactory.tDigestAggregator[Double]
agg: com.twitter.algebird.MonoidAggregator[Double,org.isarnproject.sketches.TDigest,org.isarnproject.sketches.TDigest] = com.twitter.algebird.Aggregator$$anon$3@47d12bd7

scala> val td = agg(data)
td: org.isarnproject.sketches.TDigest = TDigest(0.5,0,100,TDigestMap(-3.6423168118013396 -> (1.0, 1.0), ...

scala> td.cdf(0)
res0: Double = 0.49907435051894633

scala> td.cdfInverse(0.5)
res1: Double = 0.0022612631398306604

Algebird Monoids with TDigest

scala> import org.isarnproject.sketchesAlgebirdAPI._, org.isarnproject.sketches.TDigest
import org.isarnproject.sketchesAlgebirdAPI._
import org.isarnproject.sketches.TDigest

scala> val data = Vector.fill(100) { Vector.fill(10000) { scala.util.Random.nextGaussian() } }
data: scala.collection.immutable.Vector[scala.collection.immutable.Vector[Double]] = Vector(Vector(0.1778102040514962, ...

scala> val tdvec = data.map(TDigest.sketch(_))
tdvec: scala.collection.immutable.Vector[org.isarnproject.sketches.TDigest] = Vector(TDigest(0.5,0,75,TDigestMap(-4.215406387806561 -> (1.0, 1.0), ...

scala> val tdsum = com.twitter.algebird.Monoid.sum(tdvec)
tdsum: org.isarnproject.sketches.TDigest = TDigest(0.5,0,113,TDigestMap(-4.776867999224537 -> (1.0, 1.0), ...

scala> tdsum.cdf(0)
res5: Double = 0.4985982756854377
org.isarnproject

The Isarn Project

Enhancements to the Scala library ecosystem

Versions

Version
0.1.1