Geographic Outlier Detection

No algorithm description given

This algorithm finds the most unexpected events in a set of geographic events relative to some reference set of events. Specifically, it takes, in the form of a python dictionary "reference" - a reference set of events as a list of latitude/longitude pairs "data" - the evaluation set, which is also a set of lat/long pairs "n" - the maximum number of events to return as outliers. The algorithm uses the first set to train a probabilistic model event occurences, specifically, using density estimation for gaussian kernels. It then evaluates the probability of every event in the evaluation set. It then returns a dictionary with the following entries 'outliers' - whose value is a list of the indices of the n least probable events in the evaluation set 'logprobs' - itself a dictionary whose keys are the indices returned above, with corresponding values being the log probabilities of the events. 'all_lp' - a list of the log probabilities of the events in the evaluation set in the original order. The purpose of this is to allow the user to make their own determination of what counts as an outlier. For instance, if the log probabilities of the outliers do not differ significantly from those of the rest of the set, the user may decide to ignore the classification. This is based on scikit-learn's implementation of kernel density estimation .

(no tags)

Cost Breakdown

0 cr
royalty per call
1 cr
usage per second
avg duration
This algorithm has permission to call other algorithms which may incur separate royalty and usage costs.

Cost Calculator

API call duration (sec)
API calls
Estimated cost
per calls
for large volume discounts
For additional details on how pricing works, see Algorithmia pricing.

Calls other algorithms

This algorithm has permission to call other algorithms. This allows an algorithm to compose sophisticated functionality using other algorithms as building blocks, however it also carries the potential of incurring additional royalty and usage costs from any algorithm that it calls.

To understand more about how algorithm permissions work, see the permissions documentation.

1. Type your input

2. See the result

Running algorithm...

3. Use this algorithm

curl -X POST -d '{{input | formatInput:"curl"}}' -H 'Content-Type: application/json' -H 'Authorization: Simple YOUR_API_KEY'
View cURL Docs
algo auth
algo run algo://sklearn/GeographicOutlierDetection/0.2.5 -d '{{input | formatInput:"cli"}}'
View CLI Docs
import (
  algorithmia ""

input := {{input | formatInput:"go"}}

var client = algorithmia.NewClient("YOUR_API_KEY", "")
algo, _ := client.Algo("algo://sklearn/GeographicOutlierDetection/0.2.5")
resp, _ := algo.Pipe(input)
response := resp.(*algorithmia.AlgoResponse)
View Go Docs
import com.algorithmia.*;
import com.algorithmia.algo.*;

String input = "{{input | formatInput:"java"}}";
AlgorithmiaClient client = Algorithmia.client("YOUR_API_KEY");
Algorithm algo = client.algo("algo://sklearn/GeographicOutlierDetection/0.2.5");
AlgoResponse result = algo.pipeJson(input);
View Java Docs
import com.algorithmia._
import com.algorithmia.algo._

val input = {{input | formatInput:"scala"}}
val client = Algorithmia.client("YOUR_API_KEY")
val algo = client.algo("algo://sklearn/GeographicOutlierDetection/0.2.5")
val result = algo.pipeJson(input)
View Scala Docs
var input = {{input | formatInput:"javascript"}};
           .then(function(output) {
View Javascript Docs
using Algorithmia;

var input = "{{input | formatInput:"cs"}}";
var client = new Client("YOUR_API_KEY");
var algorithm = client.algo("algo://sklearn/GeographicOutlierDetection/0.2.5");
var response = algorithm.pipe<object>(input);
View .NET/C# Docs
var input = {{input | formatInput:"javascript"}};
           .then(function(response) {
View NodeJS Docs
import Algorithmia

input = {{input | formatInput:"python"}}
client = Algorithmia.client('YOUR_API_KEY')
algo = client.algo('sklearn/GeographicOutlierDetection/0.2.5')
print algo.pipe(input)
View Python Docs

input <- {{input | formatInput:"r"}}
client <- getAlgorithmiaClient("YOUR_API_KEY")
algo <- client$algo("sklearn/GeographicOutlierDetection/0.2.5")
result <- algo$pipe(input)$result
View R Docs
require 'algorithmia'

input = {{input | formatInput:"ruby"}}
client = Algorithmia.client('YOUR_API_KEY')
algo = client.algo('sklearn/GeographicOutlierDetection/0.2.5')
puts algo.pipe(input).result
View Ruby Docs
use algorithmia::Algorithmia;

let input = {{input | formatInput:"rust"}};
let client = Algorithmia::client("YOUR_API_KEY");
let algo = client.algo("sklearn/GeographicOutlierDetection/0.2.5");
let response = algo.pipe(input);
View Rust Docs
import Algorithmia

let input = "{{input | formatInput:"swift"}}";
let client = Algorithmia.client(simpleKey: "YOUR_API_KEY")
let algo = client.algo(algoUri: "sklearn/GeographicOutlierDetection/0.2.5") { resp, error in
View Swift Docs
  • {{comment.username}}