squirrel – enabling accessible analytics for all

12
Squirrel ENABLING ACCESSIBLE ANALYTICS FOR ALL

Upload: sudipta-mukherjee

Post on 03-Aug-2015

34 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Squirrel – Enabling Accessible Analytics for All

SquirrelENABLING ACCESSIBLE ANALYTICS FOR ALL

Page 2: Squirrel – Enabling Accessible Analytics for All

A Small Data Movement for Developer, Consumers and Business Users

Create simpler, smarter and more responsive applications

Provide intuitive experiences that are easier to consume

Reach mobile users

Tools for Data Processing and Analytics leveraging the full .NET stack

Page 3: Squirrel – Enabling Accessible Analytics for All

I/O Blocks

Data Modeling

Database ConnectorsData

Generation

Data Visualization Adaptors

Statistics & Mathematics

Data Cleansing

The Templatized Design StyleThe Function Stack

Page 4: Squirrel – Enabling Accessible Analytics for All

I/O Blocks

Data Modeling

Database ConnectorsData

Generation

Data Visualization Adaptors

Statistics & Mathematics

Data Cleansing

The Templatized Design StyleThe Function Stack

Add rows based on shorthand

increment functions

Standard Data input formats e.g. CSV, TXT,

XLS, ARFF, XLX, HTML, XML, JSON

RDBMS and NOSQL

connectors e.g. SQL Server, MongoDB

Page 5: Squirrel – Enabling Accessible Analytics for All

I/O Blocks

Data Modeling

Database ConnectorsData

Generation

Data Visualization Adaptors

Statistics & Mathematics

Data Cleansing

The Templatized Design StyleThe Function Stack

All data is transformed into an

internal data structure

representation

Page 6: Squirrel – Enabling Accessible Analytics for All

I/O Blocks

Data Modeling

Database ConnectorsData

Generation

Data Visualization Adaptors

Statistics & Mathematics

Data Cleansing

The Templatized Design StyleThe Function Stack

Removing duplicates,

Outlier extraction

Highcharts, Google Charts, D3.js

Page 7: Squirrel – Enabling Accessible Analytics for All

I/O Blocks

Data Modeling

Database ConnectorsData

Generation

Data Visualization Adaptors

Statistics & Mathematics

Data Cleansing

The Templatized Design StyleThe Function Stack

Basic functions like Median,

Range, Standard deviation,

Kurtosis, etc.

Page 8: Squirrel – Enabling Accessible Analytics for All

Applying the Templatized Design StyleExample #1: Question – Do women tip more than men?

// Load the data Table tips = DataAcquisition.LoadCSV(@"..\..\tips.csv");

//Add a new column based on a formulatips.AddColumn(columnName: "tip%", formula: "[tip]*100/[totbill]", decimalDigits: 3);

tips//Pick the columns to display.Pick("sex", "tip%")//Aggregate the tip% values.Aggregate("sex", AggregationMethod.Average)//Round off the result.RoundOffTo(2)//Display the result on console.PrettyDump();

sex      tip%       F     16.65       M    15.77

Answer – Yes! Women do tip more than men.

Page 9: Squirrel – Enabling Accessible Analytics for All

Applying the Templatized Design StyleExample #1: Question – What is the range of the iris dataset?

Table iris = DataAcquisition.LoadCSV(@"iris.csv");

StringBuilder builder = new StringBuilder();builder.AppendLine("<html>");builder.AppendLine("<h2>Range</h2>");

builder.AppendLine(iris.Aggregate("Name", AggregationMethod.Range).ToBasicBootstrapHTMLTable(BootstrapTableDecorators.BootstrapTableClasses .Table_Striped)););

builder.AppendLine("</html>");StreamWriter writer = new StreamWriter("temp.html");writer.WriteLine(builder.ToString());writer.Close();

Answer – Iris-setosa has the least Petal width while the Iris-virginica has the largest Sepal length.

Name SepalLength SepalWidthPetalLength PetalWidth   Iris-setosa 1.5 2.1

0.9 0.5  Iris-versicolor 2.1 1.4

2.1 0.8Iris-virginica 3.0 1.6

2.4 1.1

Page 10: Squirrel – Enabling Accessible Analytics for All

Reaching Mobile UsersIntegration with Android Devices

Typed Duplex Message sender

User Code in Java

Typed Duplex Message receiver

User Code in C#

Eneter for Android Eneter for .NETSquirrel Application on Android Squirrel Application on .NET

SendRequests

ReceiveResponses

SendMessages

ObserveResponseMessages

ObserveMessages

SendResponseMessages

ReceiveRequests

MessageChannel

SendResponses

• A simple request-response communication• The Android device is a client to the .NET

application as a service• Uses Eneter (www.eneter.net) as the

messaging framework

Page 11: Squirrel – Enabling Accessible Analytics for All

What’s coming up?New and Enhanced features

Table API 1.0.1(now)

Current version

Table API 1.1 ( 3 months)

• Enhanced Support for Connectors

• Connect to all relevant enterprise and application data and content sources• RDBMS, NoSQL,

Hadoop, social media, machine data, …

Table API 2.0 ( 6 months)

• Smart Defaults, e.g. Sort of weekday

• One API for Data Visualization• Charts on

Tableau, Google Charts using the same API

Table API 3.0 ( 1

year)

• Voice Recognition• Smart

Slicing/Dicing with Voice commands, Ad-hoc Voice query for Data Visualization

• Gesture Recognition• Change, Create

Data Visualization with Gestures, Zoom, Scale, …

Page 12: Squirrel – Enabling Accessible Analytics for All

Thank you!Experiment, Adopt, Collaborate email to: [email protected] or [email protected]

References1. Squirrel - https://github.com/sudipto80/Squirrel2. Small Data and IoT –

a) https://ctovision.com/2015/01/beyond-iot-buzz-new-horizon-embedded-intelligence-information-flows-seriously-smart-apps/

b) http://smalldatagroup.com/2013/10/18/defining-small-data/