Bird Co-occurences

Analyzing Indian ebird data of co-occurences for habitats and geography

We analyze the e-bird data for co-occurences of species, i.e., species occuring together more than expected by their separate frequencies. We can formulate this as the following question

Question: What causes bird species to occur together?

We shall see that such co-occurences occur for two reasons - geography and habitat.

With more data, one can reverse this analysis and divide India into geographical regions and habitats, from a bird's eye view, based on co-occurences. Clearly the present e-bird data is inadequate for this as we only see some regions and habitats in it.

Code: This is a jupyter notebook written in scala.

Setup and loading data

We first add all our dependencies, both our own code and other stuff on which it depends. The code here is on the repository for some of our other code at Proving-Ground

In [1]:
classpath.addPath("/home/gadgil/code/ProvingGround/deepwalk/target/scala-2.11/deepwalk4s_2.11-0.8.jar")

In [2]:
classpath.add("com.lihaoyi" %% "ammonite-ops" % "0.7.7")
1 new artifact(s)
1 new artifacts in macro
1 new artifacts in runtime
1 new artifacts in compile

In [3]:
import ammonite.ops._
import ammonite.ops._

The e-bird data has been pre-processed (not in this notebook) and saved in various files. We first read how many checklists contain a given bird, and how many contain both birds in a pair.

In [4]:
val data = pwd / up / 'data
data: Path = /home/gadgil/code/ProvingGround/data
In [5]:
val freqF = data / "frequencies.tsv"
val freqs = read.lines(freqF) map (_.split("\t")) map {case Array(a, n) => (a, n.toInt)} sortBy((an) => - an._2)
freqF: data.ThisType = /home/gadgil/code/ProvingGround/data/frequencies.tsv
freqs: Vector[(String, Int)] = Vector(
  ("Corvus splendens", 12538),
  ("Acridotheres tristis", 12509),
  ("Halcyon smyrnensis", 11176),
  ("Corvus macrorhynchos", 10495),
  ("Dicrurus macrocercus", 9785),
  ("Ardeola grayii", 9660),
  ("Pycnonotus cafer", 9551),
  ("Pycnonotus jocosus", 8892),
  ("Streptopelia chinensis", 8817),
  ("Orthotomus sutorius", 8780),
  ("Copsychus saularis", 8545),
  ("Centropus sinensis", 8394),
  ("Psilopogon viridis", 8126),
  ("Psittacula krameri", 7858),
  ("Columba livia", 7658),
  ("Milvus migrans", 7596),
  ("Leptocoma zeylonica", 7447),
  ("Microcarbo niger", 7419),
  ("Eudynamys scolopaceus", 7410),
...
In [6]:
val coF = data /"co-occurences.tsv"
def pairs = read.lines(coF) map (_.split("\t")) map {case Array(a, b, n) => (a, b, n.toInt)}
coF: data.ThisType = /home/gadgil/code/ProvingGround/data/co-occurences.tsv
defined function pairs

We use scientific names for analysis, but we also have extracted common names since they are nicer to see.

In [7]:
val commonF = data / "common-names.tsv"
val commonNames = read.lines(commonF) map (_.split("\t")) map {case Array(sc, comm) => (sc, comm)} toMap
commonF: data.ThisType = /home/gadgil/code/ProvingGround/data/common-names.tsv
commonNames: Map[String, String] = Map(
  "Clamator coromandus" -> "Chestnut-winged Cuckoo",
  "Alauda arvensis/gulgula" -> "Eurasian/Oriental Skylark",
  "Ardenna carneipes" -> "Flesh-footed Shearwater",
  "Ichthyophaga ichthyaetus" -> "Gray-headed Fish-Eagle",
  "Otus lettia" -> "Collared Scops-Owl",
  "Aythya nyroca" -> "Ferruginous Duck",
  "Aegithalos iouschistos" -> "Black-browed Tit",
  "Anatidae sp." -> "waterfowl sp.",
  "Cinclidium leucurum" -> "White-tailed Robin",
  "Xenus cinereus" -> "Terek Sandpiper",
  "Horornis flavolivaceus" -> "Aberrant Bush-Warbler",
  "Catreus wallichii" -> "Cheer Pheasant",
  "Accipiter butleri" -> "Nicobar Sparrowhawk",
  "Merops apiaster" -> "European Bee-eater",
  "Psittacula eupatria" -> "Alexandrine Parakeet",
  "Hydroprogne caspia" -> "Caspian Tern",
  "Elachura formosa" -> "Spotted Elachura",
  "Corvus macrorhynchos" -> "Large-billed Crow",
  "Dryocopus javensis" -> "White-bellied Woodpecker",
...

Let us look at the 250 most common birds, where how common is measured by how many checklists contain a bird.

In [8]:
val top250 = freqs.take(250).map(_._1)
show((top250 map (commonNames)).zipWithIndex)
Vector(
  ("House Crow", 0),
  ("Common Myna", 1),
  ("White-throated Kingfisher", 2),
  ("Large-billed Crow", 3),
  ("Black Drongo", 4),
  ("Indian Pond-Heron", 5),
  ("Red-vented Bulbul", 6),
  ("Red-whiskered Bulbul", 7),
  ("Spotted Dove", 8),
  ("Common Tailorbird", 9),
  ("Oriental Magpie-Robin", 10),
  ("Greater Coucal", 11),
  ("White-cheeked Barbet", 12),
  ("Rose-ringed Parakeet", 13),
  ("Rock Pigeon", 14),
  ("Black Kite", 15),
  ("Purple-rumped Sunbird", 16),
  ("Little Cormorant", 17),
  ("Asian Koel", 18),
  ("Cattle Egret", 19),
  ("Red-wattled Lapwing", 20),
  ("Brahminy Kite", 21),
  ("Rufous Treepie", 22),
  ("Green Bee-eater", 23),
  ("Little Egret", 24),
  ("Ashy Prinia", 25),
  ("Purple Sunbird", 26),
  ("Jungle Babbler", 27),
  ("Black-rumped Flameback", 28),
  ("Jungle Myna", 29),
  ("Barn Swallow", 30),
  ("Coppersmith Barbet", 31),
  ("Pale-billed Flowerpecker", 32),
  ("Indian Peafowl", 33),
  ("Intermediate Egret", 34),
  ("White-breasted Waterhen", 35),
  ("Yellow-billed Babbler", 36),
  ("Common Iora", 37),
  ("Purple Heron", 38),
  ("Indian Robin", 39),
  ("Black-hooded Oriole", 40),
  ("Greater Racket-tailed Drongo", 41),
  ("Pied Bushchat", 42),
  ("Asian Palm-Swift", 43),
  ("Shikra", 44),
  ("House Sparrow", 45),
  ("Blyth's Reed-Warbler", 46),
  ("Gray Heron", 47),
  ("Black-headed Ibis", 48),
  ("Great Egret", 49),
  ("Plain Prinia", 50),
  ("Common Kingfisher", 51),
  ("White-browed Wagtail", 52),
  ("Laughing Dove", 53),
  ("Common Sandpiper", 54),
  ("Gray-headed Swamphen", 55),
  ("Red-rumped Swallow", 56),
  ("Indian Golden Oriole", 57),
  ("Oriental White-eye", 58),
  ("Indian Spot-billed Duck", 59),
  ("Lesser Whistling-Duck", 60),
  ("Little Grebe", 61),
  ("Gray Francolin", 62),
  ("Ashy Drongo", 63),
  ("Indian Roller", 64),
  ("Plum-headed Parakeet", 65),
  ("White-browed Bulbul", 66),
  ("Black-winged Stilt", 67),
  ("Asian Openbill", 68),
  ("Common Hawk-Cuckoo", 69),
  ("Cinereous Tit", 70),
  ("Blue-tailed Bee-eater", 71),
  ("Oriental Darter", 72),
  ("Vernal Hanging-Parrot", 73),
  ("Eurasian Collared-Dove", 74),
  ("Long-tailed Shrike", 75),
  ("Indian Cormorant", 76),
  ("Wood Sandpiper", 77),
  ("Eurasian Coot", 78),
  ("Indian Paradise-Flycatcher", 79),
  ("Scaly-breasted Munia", 80),
  ("Gray Wagtail", 81),
  ("Bronzed Drongo", 82),
  ("Paddyfield Pipit", 83),
  ("Pied Kingfisher", 84),
  ("Crested Serpent-Eagle", 85),
  ("Gray-breasted Prinia", 86),
  ("Gray Junglefowl", 87),
  ("Ashy Woodswallow", 88),
  ("Yellow-browed Bulbul", 89),
  ("Eurasian Hoopoe", 90),
  ("Orange Minivet", 91),
  ("Malabar Whistling-Thrush", 92),
  ("Brown Shrike", 93),
  ("Bronze-winged Jacana", 94),
  ("Painted Stork", 95),
  ("Greenish Warbler", 96),
  ("Little Swift", 97),
  ("Long-billed Sunbird", 98),
  ("Whiskered Tern", 99),
  ("Indian Gray Hornbill", 100),
  ("Baya Weaver", 101),
  ("Asian Pied Starling", 102),
  ("Small Minivet", 103),
  ("Brahminy Starling", 104),
  ("Great Cormorant", 105),
  ("Black-shouldered Kite", 106),
  ("Stork-billed Kingfisher", 107),
  ("Golden-fronted Leafbird", 108),
  ("Indian Silverbill", 109),
  ("Oriental Honey-buzzard", 110),
  ("Puff-throated Babbler", 111),
  ("Spotted Owlet", 112),
  ("Western Yellow Wagtail", 113),
  ("Eurasian Moorhen", 114),
  ("Wire-tailed Swallow", 115),
  ("Tickell's Blue-Flycatcher", 116),
  ("Southern Hill Myna", 117),
  ("Zitting Cisticola", 118),
  ("Nilgiri Flowerpecker", 119),
  ("Glossy Ibis", 120),
  ("Green Sandpiper", 121),
  ("White-rumped Munia", 122),
  ("Orange-headed Thrush", 123),
  ("Malabar Parakeet", 124),
  ("Chestnut-tailed Starling", 125),
  ("Little Ringed Plover", 126),
  ("Chestnut-headed Bee-eater", 127),
  ("Eurasian Marsh-Harrier", 128),
  ("White Wagtail", 129),
  ("Black-crowned Night-Heron", 130),
  ("Black-naped Monarch", 131),
  ("Large Gray Babbler", 132),
  ("Indian Scimitar-Babbler", 133),
  ("Malabar Gray Hornbill", 134),
  ("Crimson-backed Sunbird", 135),
  ("Red-naped Ibis", 136),
  ("Jerdon's Bushlark", 137),
  ("Common Greenshank", 138),
  ("River Tern", 139),
  ("Siberian Stonechat", 140),
  ("Garganey", 141),
  ("Yellow-footed Pigeon", 142),
  ("Northern Shoveler", 143),
  ("Gray-headed Canary-Flycatcher", 144),
  ("Eurasian Kestrel", 145),
  ("Asian Fairy-bluebird", 146),
  ("Ashy-crowned Sparrow-Lark", 147),
  ("Rosy Starling", 148),
  ("white egret sp.", 149),
  ("Asian Emerald Dove", 150),
  ("Jungle Owlet", 151),
  ("Clamorous Reed-Warbler", 152),
  ("Woolly-necked Stork", 153),
  ("Green/Greenish Warbler", 154),
  ("Brown-headed Barbet", 155),
  ("Greater Flameback", 156),
  ("Northern Pintail", 157),
  ("Velvet-fronted Nuthatch", 158),
  ("Cotton Pygmy-Goose", 159),
  ("Blue-throated Barbet", 160),
  ("Common Woodshrike", 161),
  ("Bay-backed Shrike", 162),
  ("Pheasant-tailed Jacana", 163),
  ("Malabar Barbet", 164),
  ("Dusky Crag-Martin", 165),
  ("Pied Cuckoo", 166),
  ("White-bellied Drongo", 167),
  ("Indian Swiftlet", 168),
  ("Asian Brown Flycatcher", 169),
  ("Blue-faced Malkoha", 170),
  ("Jerdon's Leafbird", 171),
  ("Spot-billed Pelican", 172),
  ("Rufous Babbler", 173),
  ("Flame-throated Bulbul", 174),
  ("Common Redshank", 175),
  ("Yellow-wattled Lapwing", 176),
  ("Himalayan Bulbul", 177),
  ("Chestnut-shouldered Petronia", 178),
  ("Blue Whistling-Thrush", 179),
  ("Tricolored Munia", 180),
  ("Black-headed Cuckooshrike", 181),
  ("Verditer Flycatcher", 182),
  ("Little Spiderhunter", 183),
  ("Ruddy Shelduck", 184),
  ("Eurasian Spoonbill", 185),
  ("Brown-cheeked Fulvetta", 186),
  ("Oriental Skylark", 187),
  ("cormorant sp.", 188),
  ("Large Cuckooshrike", 189),
  ("Marsh Sandpiper", 190),
  ("Gray-fronted Green-Pigeon", 191),
  ("Brown-capped Woodpecker", 192),
  ("Citrine Wagtail", 193),
  ("Yellow-eyed Babbler", 194),
  ("Little Stint", 195),
  ("Green-winged Teal", 196),
  ("Booted Eagle", 197),
  ("sunbird sp.", 198),
  ("Oriental Turtle-Dove", 199),
  ("Gray-hooded Warbler", 200),
  ("Booted Warbler", 201),
  ("Black Redstart", 202),
  ("Red Avadavat", 203),
  ("Black-tailed Godwit", 204),
  ("Bank Myna", 205),
  ("Bar-winged Flycatcher-shrike", 206),
  ("Malabar Starling", 207),
  ("Gray Bushchat", 208),
  ("Hair-crested Drongo", 209),
  ("Gull-billed Tern", 210),
  ("Spot-breasted Fantail", 211),
  ("Red Spurfowl", 212),
  ("Dark-fronted Babbler", 213),
  ("crow sp.", 214),
  ("Brown-headed Gull", 215),
  ("Rufous Woodpecker", 216),
  ("Black Eagle", 217),
  ("Black Bulbul", 218),
  ("Lesser Whitethroat", 219),
  ("Indian Pitta", 220),
  ("White-eyed Buzzard", 221),
  ("Great Barbet", 222),
  ("Indian Chat", 223),
  ("Alexandrine Parakeet", 224),
  ("White-bellied Treepie", 225),
  ("Tawny-bellied Babbler", 226),
  ("White-throated Fantail", 227),
  ("Striated Heron", 228),
  ("Kentish Plover", 229),
  ("Taiga Flycatcher", 230),
  ("Gadwall", 231),
  ("Hume's Warbler", 232),
  ("Common Babbler", 233),
  ("White-rumped Shama", 234),
  ("Common Snipe", 235),
  ("Malabar Trogon", 236),
  ("Lesser Yellownape", 237),
  ("Malabar Woodshrike", 238),
  ("Red Collared-Dove", 239),
  ("Rufous-tailed Lark", 240),
  ("Jungle Prinia", 241),
  ("Lesser Sand-Plover", 242),
  ("Short-toed Snake-Eagle", 243),
  ("Thick-billed Flowerpecker", 244),
  ("Red-breasted Flycatcher", 245),
  ("Temminck's Stint", 246),
  ("Osprey", 247),
  ("Bar-headed Goose", 248),
  ("White-browed Fantail", 249)
)
top250: Vector[String] = Vector(
  "Corvus splendens",
  "Acridotheres tristis",
  "Halcyon smyrnensis",
  "Corvus macrorhynchos",
  "Dicrurus macrocercus",
  "Ardeola grayii",
  "Pycnonotus cafer",
  "Pycnonotus jocosus",
  "Streptopelia chinensis",
  "Orthotomus sutorius",
  "Copsychus saularis",
  "Centropus sinensis",
  "Psilopogon viridis",
  "Psittacula krameri",
  "Columba livia",
  "Milvus migrans",
  "Leptocoma zeylonica",
  "Microcarbo niger",
  "Eudynamys scolopaceus",
...

We shall analyse which birds are seen together, but focussing attention on pairs with both among the top 250. This is because when we map birds to vectors, if we include all birds then the common ones cluster together.

In [9]:
val topSet = top250.toSet
val scientificNames = (commonNames map {case (s, c) => (c, s)}).toMap
val bothSeen = {for {(a, b, n) <- pairs if topSet.contains(a) && topSet.contains(b)} yield((a, b), n)}.toMap
topSet: Set[String] = Set(
  "Psittacula eupatria",
  "Corvus macrorhynchos",
  "Ardea alba",
  "Mycteria leucocephala",
  "Zosterops palpebrosus",
  "Dendrocitta leucogastra",
  "Ploceus philippinus",
  "Artamus fuscus",
  "Cyornis tickelliae",
  "Platalea leucorodia",
  "Dicaeum agile",
  "Picus chlorolophus",
  "Eumyias thalassinus",
  "Dendrocopos nanus",
  "Acridotheres ginginianus",
  "Circus aeruginosus",
  "Merops leschenaulti",
  "Phaenicophaeus viridirostris",
  "Ficedula parva",
...
scientificNames: Map[String, String] = Map(
  "roller sp." -> "Coracias sp.",
  "Whimbrel" -> "Numenius phaeopus",
  "Laughing Dove" -> "Streptopelia senegalensis",
  "Tawny-breasted Wren-Babbler" -> "Spelaeornis longicaudatus",
  "godwit sp." -> "Limosa sp.",
  "White-breasted Waterhen" -> "Amaurornis phoenicurus",
  "Eurasian Wren" -> "Troglodytes troglodytes",
  "scops-owl sp." -> "Otus sp.",
  "Indian Cuckoo" -> "Cuculus micropterus",
  "Siberian Blue Robin" -> "Larvivora cyane",
  "Velvet-fronted Nuthatch" -> "Sitta frontalis",
  "Indian Blue Robin" -> "Larvivora brunnea",
  "Crested Treeswift" -> "Hemiprocne coronata",
  "Tawny Eagle" -> "Aquila rapax",
  "Dusky Thrush" -> "Turdus eunomus",
  "Little Cormorant" -> "Microcarbo niger",
  "Rufous-vented Prinia" -> "Prinia burnesii",
  "Malabar Gray Hornbill" -> "Ocyceros griseus",
  "Great Slaty Woodpecker" -> "Mulleripicus pulverulentus",
...
bothSeen: Map[(String, String), Int] = Map(
  ("Calidris temminckii", "Coracias benghalensis") -> 143,
  ("Galloperdix spadicea", "Ardeola grayii") -> 198,
  ("Threskiornis melanocephalus", "Tephrodornis sylvicola") -> 6,
  ("Tringa nebularia", "Clamator jacobinus") -> 59,
  ("Tringa nebularia", "Elanus caeruleus") -> 181,
  ("Tringa glareola", "Vanellus malabaricus") -> 157,
  ("Prinia hodgsonii", "Micropternus brachyurus") -> 90,
  ("Chlidonias hybrida", "Dicrurus caerulescens") -> 19,
  ("Dendrocitta leucogastra", "Artamus fuscus") -> 50,
  ("Egretta/Bubulcus sp.", "Prinia socialis") -> 212,
  ("Cisticola juncidis", "Pseudibis papillosa") -> 158,
  ("Pandion haliaetus", "Psittacula eupatria") -> 35,
  ("Vanellus malabaricus", "Tringa stagnatilis") -> 69,
  ("Nectariniidae sp. (sunbird sp.)", "Sturnia malabarica") -> 16,
  ("Dicaeum concolor", "Rhipidura aureola") -> 13,
  ("Ocyceros birostris", "Irena puella") -> 19,
  ("Pelargopsis capensis", "Pernis ptilorhynchus") -> 95,
  ("Prinia hodgsonii", "Pernis ptilorhynchus") -> 235,
  ("Halcyon smyrnensis", "Saxicola caprata") -> 2119,
...
In [10]:
val p = freqs.toMap
p: Map[String, Int] = Map(
  "Clamator coromandus" -> 42,
  "Alauda arvensis/gulgula" -> 2,
  "Ardenna carneipes" -> 49,
  "Ichthyophaga ichthyaetus" -> 48,
  "Otus lettia" -> 27,
  "Aythya nyroca" -> 188,
  "Aegithalos iouschistos" -> 14,
  "Anatidae sp." -> 55,
  "Cinclidium leucurum" -> 31,
  "Xenus cinereus" -> 221,
  "Horornis flavolivaceus" -> 37,
  "Catreus wallichii" -> 11,
  "Accipiter butleri" -> 1,
  "Merops apiaster" -> 17,
  "Psittacula eupatria" -> 527,
  "Hydroprogne caspia" -> 190,
  "Elachura formosa" -> 20,
  "Corvus macrorhynchos" -> 10495,
  "Dryocopus javensis" -> 174,
...

The co-occurence of two species is the ratio of the probability that they are seen together to what this probability would be if they were independent. We don't actually take the ratio but a constant multiple of the ratio as this makes no difference in the analysis.

In [11]:
def coOccurence(a: String, b: String) = 10000.0 * bothSeen((a, b)) / (p(a) * p(b))
defined function coOccurence

We already can see some interesting patterns from the data. Below we see the species that co-occur the most (first by scientific name, then the top 1000 pairs by common name)

In [12]:
val topPairs = for (a <- top250; b <- top250 if a != b) yield (a, b)
topPairs: Vector[(String, String)] = Vector(
  ("Corvus splendens", "Acridotheres tristis"),
  ("Corvus splendens", "Halcyon smyrnensis"),
  ("Corvus splendens", "Corvus macrorhynchos"),
  ("Corvus splendens", "Dicrurus macrocercus"),
  ("Corvus splendens", "Ardeola grayii"),
  ("Corvus splendens", "Pycnonotus cafer"),
  ("Corvus splendens", "Pycnonotus jocosus"),
  ("Corvus splendens", "Streptopelia chinensis"),
  ("Corvus splendens", "Orthotomus sutorius"),
  ("Corvus splendens", "Copsychus saularis"),
  ("Corvus splendens", "Centropus sinensis"),
  ("Corvus splendens", "Psilopogon viridis"),
  ("Corvus splendens", "Psittacula krameri"),
  ("Corvus splendens", "Columba livia"),
  ("Corvus splendens", "Milvus migrans"),
  ("Corvus splendens", "Leptocoma zeylonica"),
  ("Corvus splendens", "Microcarbo niger"),
  ("Corvus splendens", "Eudynamys scolopaceus"),
  ("Corvus splendens", "Bubulcus ibis"),
...
In [13]:
val together = topPairs.sortBy((ab) => - coOccurence(ab._1, ab._2)).filter((ab) => (ab._1 < ab._2))
together: Vector[(String, String)] = Vector(
  ("Hypsipetes leucocephalus", "Psilopogon virens"),
  ("Charadrius alexandrinus", "Charadrius mongolus"),
  ("Anas crecca", "Anas strepera"),
  ("Anas strepera", "Anser indicus"),
  ("Anser indicus", "Tadorna ferruginea"),
  ("Calidris minuta", "Calidris temminckii"),
  ("Phylloscopus xanthoschistos", "Saxicola ferreus"),
  ("Myophonus caeruleus", "Phylloscopus xanthoschistos"),
  ("Pycnonotus leucogenys", "Saxicola ferreus"),
  ("Phoenicurus ochruros", "Sylvia curruca"),
  ("Phylloscopus xanthoschistos", "Pycnonotus leucogenys"),
  ("Anas clypeata", "Anas strepera"),
  ("Myophonus caeruleus", "Psilopogon virens"),
  ("Hypsipetes leucocephalus", "Phylloscopus xanthoschistos"),
  ("Anas clypeata", "Anas crecca"),
  ("Anas strepera", "Tadorna ferruginea"),
  ("Ficedula parva", "Phylloscopus humei"),
  ("Hypsipetes leucocephalus", "Myophonus caeruleus"),
  ("Myophonus caeruleus", "Saxicola ferreus"),
...
In [14]:
show(together map {case (x, y) => (commonNames(x), commonNames(y))} take (1000))
Vector(
  ("Black Bulbul", "Great Barbet"),
  ("Kentish Plover", "Lesser Sand-Plover"),
  ("Green-winged Teal", "Gadwall"),
  ("Gadwall", "Bar-headed Goose"),
  ("Bar-headed Goose", "Ruddy Shelduck"),
  ("Little Stint", "Temminck's Stint"),
  ("Gray-hooded Warbler", "Gray Bushchat"),
  ("Blue Whistling-Thrush", "Gray-hooded Warbler"),
  ("Himalayan Bulbul", "Gray Bushchat"),
  ("Black Redstart", "Lesser Whitethroat"),
  ("Gray-hooded Warbler", "Himalayan Bulbul"),
  ("Northern Shoveler", "Gadwall"),
  ("Blue Whistling-Thrush", "Great Barbet"),
  ("Black Bulbul", "Gray-hooded Warbler"),
  ("Northern Shoveler", "Green-winged Teal"),
  ("Gadwall", "Ruddy Shelduck"),
  ("Red-breasted Flycatcher", "Hume's Warbler"),
  ("Black Bulbul", "Blue Whistling-Thrush"),
  ("Blue Whistling-Thrush", "Gray Bushchat"),
  ("Temminck's Stint", "Common Snipe"),
  ("Gray-hooded Warbler", "Great Barbet"),
  ("Gray-hooded Warbler", "White-throated Fantail"),
  ("Blue Whistling-Thrush", "Himalayan Bulbul"),
  ("Green-winged Teal", "Bar-headed Goose"),
  ("Northern Pintail", "Gadwall"),
  ("Northern Pintail", "Northern Shoveler"),
  ("Black-tailed Godwit", "Marsh Sandpiper"),
  ("White-throated Fantail", "Gray Bushchat"),
  ("Black Bulbul", "Gray Bushchat"),
  ("Little Stint", "Marsh Sandpiper"),
  ("Red-breasted Flycatcher", "Black Redstart"),
  ("Black Bulbul", "White-throated Fantail"),
  ("Great Barbet", "Gray Bushchat"),
  ("Northern Pintail", "Green-winged Teal"),
  ("Lesser Sand-Plover", "Gull-billed Tern"),
  ("Temminck's Stint", "Marsh Sandpiper"),
  ("Black Bulbul", "Himalayan Bulbul"),
  ("Himalayan Bulbul", "White-throated Fantail"),
  ("Flame-throated Bulbul", "Dark-fronted Babbler"),
  ("Little Stint", "Kentish Plover"),
  ("Lesser Sand-Plover", "Brown-headed Gull"),
  ("Hume's Warbler", "Lesser Whitethroat"),
  ("Little Stint", "Black-tailed Godwit"),
  ("Northern Shoveler", "Bar-headed Goose"),
  ("Malabar Trogon", "Dark-fronted Babbler"),
  ("Red-breasted Flycatcher", "Lesser Whitethroat"),
  ("Gadwall", "Citrine Wagtail"),
  ("White-bellied Treepie", "Malabar Trogon"),
  ("Malabar Trogon", "Malabar Woodshrike"),
  ("Brown-headed Gull", "Gull-billed Tern"),
  ("Brown-cheeked Fulvetta", "Malabar Trogon"),
  ("Blue Whistling-Thrush", "White-throated Fantail"),
  ("Hume's Warbler", "White-throated Fantail"),
  ("Kentish Plover", "Brown-headed Gull"),
  ("Green-winged Teal", "Ruddy Shelduck"),
  ("Green-winged Teal", "Common Snipe"),
  ("Black-tailed Godwit", "Eurasian Spoonbill"),
  ("Rufous-tailed Lark", "Ashy-crowned Sparrow-Lark"),
  ("Hume's Warbler", "Gray-hooded Warbler"),
  ("Malabar Trogon", "Flame-throated Bulbul"),
  ("Temminck's Stint", "Kentish Plover"),
  ("Bar-headed Goose", "Citrine Wagtail"),
  ("Northern Pintail", "Bar-headed Goose"),
  ("Lesser Sand-Plover", "Common Redshank"),
  ("Bank Myna", "Indian Chat"),
  ("Gadwall", "Lesser Whitethroat"),
  ("White-bellied Treepie", "Malabar Woodshrike"),
  ("Temminck's Stint", "Black-tailed Godwit"),
  ("Malabar Trogon", "Gray-fronted Green-Pigeon"),
  ("Verditer Flycatcher", "Great Barbet"),
  ("Black-tailed Godwit", "Common Redshank"),
  ("Hume's Warbler", "Gray Bushchat"),
  ("Bar-headed Goose", "Eurasian Spoonbill"),
  ("Green-winged Teal", "Temminck's Stint"),
  ("Great Barbet", "Himalayan Bulbul"),
  ("Brown-cheeked Fulvetta", "Dark-fronted Babbler"),
  ("Marsh Sandpiper", "Common Redshank"),
  ("Lesser Whitethroat", "Common Babbler"),
  ("Temminck's Stint", "Common Redshank"),
  ("Kentish Plover", "Common Redshank"),
  ("Little Stint", "Common Snipe"),
  ("Great Barbet", "White-throated Fantail"),
  ("Malabar Trogon", "Asian Fairy-bluebird"),
  ("Great Barbet", "Oriental Turtle-Dove"),
  ("Temminck's Stint", "Little Ringed Plover"),
  ("Malabar Trogon", "Malabar Gray Hornbill"),
  ("Gray-hooded Warbler", "Oriental Turtle-Dove"),
  ("Common Snipe", "Marsh Sandpiper"),
  ("Hume's Warbler", "Alexandrine Parakeet"),
  ("Temminck's Stint", "Citrine Wagtail"),
  ("Little Stint", "Common Redshank"),
  ("Bank Myna", "Gadwall"),
  ("Common Snipe", "Black-tailed Godwit"),
  ("Bank Myna", "Citrine Wagtail"),
  ("Little Stint", "Lesser Sand-Plover"),
  ("Brown-cheeked Fulvetta", "Crimson-backed Sunbird"),
  ("Green-winged Teal", "Black-tailed Godwit"),
  ("Bar-winged Flycatcher-shrike", "Velvet-fronted Nuthatch"),
  ("Common Snipe", "Ruddy Shelduck"),
  ("Malabar Trogon", "Crimson-backed Sunbird"),
  ("Dark-fronted Babbler", "Gray-fronted Green-Pigeon"),
  ("Bar-headed Goose", "Lesser Whitethroat"),
  ("Little Stint", "Little Ringed Plover"),
  ("Gray Bushchat", "Oriental Turtle-Dove"),
  ("Northern Shoveler", "Garganey"),
  ("Gull-billed Tern", "Black-tailed Godwit"),
  ("Flame-throated Bulbul", "Gray-fronted Green-Pigeon"),
  ("Hume's Warbler", "Himalayan Bulbul"),
  ("Kentish Plover", "Gull-billed Tern"),
  ("Flame-throated Bulbul", "Malabar Woodshrike"),
  ("Northern Pintail", "Garganey"),
  ("Bank Myna", "Bar-headed Goose"),
  ("Northern Shoveler", "Ruddy Shelduck"),
  ("Green-winged Teal", "Eurasian Spoonbill"),
  ("Green-winged Teal", "Lesser Whitethroat"),
  ("Gadwall", "Temminck's Stint"),
  ("White-bellied Treepie", "Malabar Parakeet"),
  ("Asian Fairy-bluebird", "Malabar Woodshrike"),
  ("Common Snipe", "Citrine Wagtail"),
  ("White-bellied Treepie", "Malabar Gray Hornbill"),
  ("Bar-headed Goose", "Common Snipe"),
  ("Citrine Wagtail", "Ruddy Shelduck"),
  ("Hair-crested Drongo", "White-throated Fantail"),
  ("Black Bulbul", "Oriental Turtle-Dove"),
  ("Brown-cheeked Fulvetta", "Little Spiderhunter"),
  ("Temminck's Stint", "Ruddy Shelduck"),
  ("Verditer Flycatcher", "Black Bulbul"),
  ("Crimson-backed Sunbird", "Dark-fronted Babbler"),
  ("White-bellied Treepie", "Dark-fronted Babbler"),
  ("White Wagtail", "Citrine Wagtail"),
  ("Gadwall", "Common Snipe"),
  ("Kentish Plover", "Marsh Sandpiper"),
  ("Malabar Barbet", "Malabar Woodshrike"),
  ("White-bellied Treepie", "Asian Fairy-bluebird"),
  ("Bar-headed Goose", "Temminck's Stint"),
  ("Greater Flameback", "Malabar Trogon"),
  ("Common Greenshank", "Common Redshank"),
  ("Little Spiderhunter", "Malabar Trogon"),
  ("Black Redstart", "Hume's Warbler"),
  ("Blue Whistling-Thrush", "Oriental Turtle-Dove"),
  ("White-bellied Treepie", "Flame-throated Bulbul"),
  ("Malabar Gray Hornbill", "Gray-fronted Green-Pigeon"),
  ("Asian Fairy-bluebird", "Flame-throated Bulbul"),
  ("Velvet-fronted Nuthatch", "Malabar Woodshrike"),
  ("Bar-headed Goose", "Black-tailed Godwit"),
  ("Green-winged Teal", "Garganey"),
  ("Malabar Woodshrike", "Gray-fronted Green-Pigeon"),
  ("Kentish Plover", "Little Ringed Plover"),
  ("Rufous-tailed Lark", "Bay-backed Shrike"),
  ("Bank Myna", "Common Babbler"),
  ("Gadwall", "Red-breasted Flycatcher"),
  ("Greater Flameback", "Malabar Woodshrike"),
  ("Crimson-backed Sunbird", "Malabar Woodshrike"),
  ("Malabar Gray Hornbill", "Flame-throated Bulbul"),
  ("Crimson-backed Sunbird", "Flame-throated Bulbul"),
  ("Malabar Trogon", "Malabar Barbet"),
  ("Green-winged Teal", "Citrine Wagtail"),
  ("Northern Shoveler", "Black-tailed Godwit"),
  ("Gull-billed Tern", "Marsh Sandpiper"),
  ("Malabar Gray Hornbill", "Malabar Woodshrike"),
  ("Malabar Gray Hornbill", "Dark-fronted Babbler"),
  ("Verditer Flycatcher", "Gray Bushchat"),
  ("Eurasian Spoonbill", "Marsh Sandpiper"),
  ("Northern Shoveler", "Common Snipe"),
  ("Rufous-tailed Lark", "White-eyed Buzzard"),
  ("Yellow-browed Bulbul", "Dark-fronted Babbler"),
  ("Common Greenshank", "Marsh Sandpiper"),
  ("Dark-fronted Babbler", "Malabar Woodshrike"),
  ("Northern Pintail", "Ruddy Shelduck"),
  ("Red-breasted Flycatcher", "Alexandrine Parakeet"),
  ("Painted Stork", "Eurasian Spoonbill"),
  ("White-bellied Treepie", "Southern Hill Myna"),
  ("Gull-billed Tern", "Osprey"),
  ("Gull-billed Tern", "Common Redshank"),
  ("Gray-headed Canary-Flycatcher", "White-throated Fantail"),
  ("Gadwall", "Black Redstart"),
  ("Little Stint", "Brown-headed Gull"),
  ("Northern Shoveler", "Eurasian Spoonbill"),
  ("Bank Myna", "Temminck's Stint"),
  ("Little Stint", "Gull-billed Tern"),
  ("Tawny-bellied Babbler", "Spot-breasted Fantail"),
  ("Indian Chat", "Common Babbler"),
  ("Gadwall", "Eurasian Spoonbill"),
  ("White-bellied Treepie", "Gray-fronted Green-Pigeon"),
  ("Malabar Starling", "Malabar Woodshrike"),
  ("Brown-cheeked Fulvetta", "Flame-throated Bulbul"),
  ("Black-tailed Godwit", "Ruddy Shelduck"),
  ("Gadwall", "Eurasian Moorhen"),
  ("Malabar Trogon", "Malabar Parakeet"),
  ("Tawny-bellied Babbler", "Jungle Prinia"),
  ("Verditer Flycatcher", "Gray-hooded Warbler"),
  ("Malabar Barbet", "Gray-fronted Green-Pigeon"),
  ("Yellow-browed Bulbul", "Flame-throated Bulbul"),
  ("Eurasian Spoonbill", "Ruddy Shelduck"),
  ("Brown-cheeked Fulvetta", "Bar-winged Flycatcher-shrike"),
  ("Asian Fairy-bluebird", "Dark-fronted Babbler"),
  ("Red Avadavat", "Yellow-eyed Babbler"),
  ("Blue-throated Barbet", "Great Barbet"),
  ("White-bellied Drongo", "White-browed Fantail"),
  ("Brown-headed Gull", "Black-tailed Godwit"),
  ("Brown-cheeked Fulvetta", "Malabar Gray Hornbill"),
  ("Little Spiderhunter", "Flame-throated Bulbul"),
  ("Gray-headed Canary-Flycatcher", "Gray-hooded Warbler"),
  ("Brown-cheeked Fulvetta", "Asian Fairy-bluebird"),
  ("Brown-cheeked Fulvetta", "White-bellied Treepie"),
  ("Asian Fairy-bluebird", "Gray-fronted Green-Pigeon"),
  ("Crimson-backed Sunbird", "Malabar Gray Hornbill"),
  ("Temminck's Stint", "Common Greenshank"),
  ("Malabar Parakeet", "Malabar Woodshrike"),
  ("Asian Fairy-bluebird", "Malabar Gray Hornbill"),
  ("Indian Chat", "Lesser Whitethroat"),
  ("Little Ringed Plover", "Marsh Sandpiper"),
  ("Asian Fairy-bluebird", "Crimson-backed Sunbird"),
  ("Bank Myna", "Lesser Whitethroat"),
  ("Bank Myna", "Asian Pied Starling"),
  ("Northern Pintail", "Eurasian Spoonbill"),
  ("Hair-crested Drongo", "Blue-throated Barbet"),
  ("Green-winged Teal", "Marsh Sandpiper"),
  ("Citrine Wagtail", "Lesser Whitethroat"),
  ("Green-winged Teal", "Eurasian Marsh-Harrier"),
  ("Gadwall", "White Wagtail"),
  ("Verditer Flycatcher", "Blue Whistling-Thrush"),
  ("Malabar Trogon", "Yellow-browed Bulbul"),
  ("Brown-cheeked Fulvetta", "White-rumped Shama"),
  ("Bank Myna", "Green-winged Teal"),
  ("Northern Pintail", "Black-tailed Godwit"),
  ("Little Spiderhunter", "Dark-fronted Babbler"),
  ("Crimson-backed Sunbird", "Gray-fronted Green-Pigeon"),
  ("Malabar Barbet", "Flame-throated Bulbul"),
  ("Little Spiderhunter", "Crimson-backed Sunbird"),
  ("Gadwall", "Black-tailed Godwit"),
  ("Red Avadavat", "Indian Silverbill"),
  ("Kentish Plover", "Black-tailed Godwit"),
  ("Malabar Barbet", "Dark-fronted Babbler"),
  ("Little Stint", "Eurasian Spoonbill"),
  ("White-rumped Shama", "Bar-winged Flycatcher-shrike"),
  ("Bar-headed Goose", "Black Redstart"),
  ("Green-winged Teal", "Black Redstart"),
  ("Chestnut-shouldered Petronia", "White-browed Fantail"),
  ("Hair-crested Drongo", "Himalayan Bulbul"),
  ("Brown-headed Gull", "Common Redshank"),
  ("Malabar Trogon", "Velvet-fronted Nuthatch"),
  ("Pheasant-tailed Jacana", "Cotton Pygmy-Goose"),
  ("Little Stint", "Common Greenshank"),
  ("Gadwall", "Hume's Warbler"),
  ("Red-breasted Flycatcher", "White-browed Fantail"),
  ("Orange Minivet", "Malabar Woodshrike"),
  ("Eurasian Marsh-Harrier", "Common Snipe"),
  ("Ashy-crowned Sparrow-Lark", "Yellow-wattled Lapwing"),
  ("Brown-cheeked Fulvetta", "Malabar Woodshrike"),
  ("Common Snipe", "Green Sandpiper"),
  ("Temminck's Stint", "Green Sandpiper"),
  ("Southern Hill Myna", "Malabar Woodshrike"),
  ("Common Snipe", "Common Redshank"),
  ("Yellow-eyed Babbler", "Common Babbler"),
  ("White-bellied Treepie", "Crimson-backed Sunbird"),
  ("Malabar Gray Hornbill", "Malabar Barbet"),
  ("White-bellied Treepie", "Malabar Barbet"),
  ("Painted Stork", "Spot-billed Pelican"),
  ("Verditer Flycatcher", "Oriental Turtle-Dove"),
  ("Common Snipe", "Western Yellow Wagtail"),
  ("Rufous-tailed Lark", "Short-toed Snake-Eagle"),
  ("Garganey", "Pheasant-tailed Jacana"),
  ("Northern Pintail", "Common Snipe"),
  ("White-eyed Buzzard", "Jungle Prinia"),
  ("Himalayan Bulbul", "Oriental Turtle-Dove"),
  ("Garganey", "Common Snipe"),
  ("Northern Shoveler", "Eurasian Marsh-Harrier"),
  ("Greater Flameback", "White-bellied Treepie"),
  ("Malabar Starling", "Gray-fronted Green-Pigeon"),
  ("Crimson-backed Sunbird", "Malabar Barbet"),
  ("Green-winged Teal", "Little Stint"),
  ("Southern Hill Myna", "Malabar Barbet"),
  ("Black-naped Monarch", "Dark-fronted Babbler"),
  ("Asian Fairy-bluebird", "Malabar Barbet"),
  ("Citrine Wagtail", "Black Redstart"),
  ("Red Avadavat", "Rufous-tailed Lark"),
  ("Lesser Yellownape", "Malabar Woodshrike"),
  ("Bar-headed Goose", "White Wagtail"),
  ("White-eyed Buzzard", "Short-toed Snake-Eagle"),
  ("Little Spiderhunter", "Asian Fairy-bluebird"),
  ("Bar-headed Goose", "Marsh Sandpiper"),
  ("Northern Shoveler", "Citrine Wagtail"),
  ("Nilgiri Flowerpecker", "Dark-fronted Babbler"),
  ("Greater Flameback", "Dark-fronted Babbler"),
  ("Bar-headed Goose", "Eurasian Marsh-Harrier"),
  ("Bar-headed Goose", "Red-breasted Flycatcher"),
  ("Red Collared-Dove", "Common Babbler"),
  ("Bank Myna", "Black Redstart"),
  ("Temminck's Stint", "Western Yellow Wagtail"),
  ("Black-tailed Godwit", "Glossy Ibis"),
  ("Indian Scimitar-Babbler", "Rufous Babbler"),
  ("Southern Hill Myna", "Malabar Parakeet"),
  ("Malabar Gray Hornbill", "Malabar Parakeet"),
  ("Verditer Flycatcher", "White-throated Fantail"),
  ("Kentish Plover", "Common Greenshank"),
  ("Eurasian Spoonbill", "Glossy Ibis"),
  ("White-throated Fantail", "Oriental Turtle-Dove"),
  ("Lesser Sand-Plover", "Common Greenshank"),
  ("Brown-cheeked Fulvetta", "Velvet-fronted Nuthatch"),
  ("Little Stint", "Ruddy Shelduck"),
  ("Yellow-eyed Babbler", "Tawny-bellied Babbler"),
  ("Malabar Trogon", "Malabar Starling"),
  ("Black-tailed Godwit", "Common Greenshank"),
  ("Lesser Yellownape", "Velvet-fronted Nuthatch"),
  ("Greater Flameback", "Gray-fronted Green-Pigeon"),
  ("Northern Pintail", "Eurasian Marsh-Harrier"),
  ("Northern Shoveler", "Lesser Whitethroat"),
  ("Indian Scimitar-Babbler", "Dark-fronted Babbler"),
  ("Brown-cheeked Fulvetta", "Yellow-browed Bulbul"),
  ("Black-winged Stilt", "Black-tailed Godwit"),
  ("Green-winged Teal", "Red-breasted Flycatcher"),
  ("Black Redstart", "Common Babbler"),
  ("Northern Shoveler", "Marsh Sandpiper"),
  ("Garganey", "Black-tailed Godwit"),
  ("White Wagtail", "Ruddy Shelduck"),
  ("Yellow-browed Bulbul", "Crimson-backed Sunbird"),
  ("Brown-cheeked Fulvetta", "Gray-fronted Green-Pigeon"),
  ("White-eyed Buzzard", "Bay-backed Shrike"),
  ("Temminck's Stint", "Wood Sandpiper"),
  ("Gray-headed Canary-Flycatcher", "Great Barbet"),
  ("Clamorous Reed-Warbler", "Common Snipe"),
  ("Short-toed Snake-Eagle", "Jungle Prinia"),
  ("Garganey", "Gadwall"),
  ("Gray-headed Canary-Flycatcher", "Black Bulbul"),
  ("Nilgiri Flowerpecker", "Crimson-backed Sunbird"),
  ("Green-winged Teal", "Common Redshank"),
  ("Red Avadavat", "Lesser Whitethroat"),
  ("Gadwall", "Great Cormorant"),
  ("Spot-billed Pelican", "Eurasian Spoonbill"),
  ("Brown-cheeked Fulvetta", "Black-naped Monarch"),
  ("Brown-cheeked Fulvetta", "Malabar Barbet"),
  ("Clamorous Reed-Warbler", "Booted Warbler"),
  ("Hume's Warbler", "Brown-headed Barbet"),
  ("Yellow-browed Bulbul", "Malabar Woodshrike"),
  ("Little Spiderhunter", "White-bellied Treepie"),
  ("Blue Whistling-Thrush", "Hume's Warbler"),
  ("Hair-crested Drongo", "Black Bulbul"),
  ("Short-toed Snake-Eagle", "Bay-backed Shrike"),
  ("Malabar Trogon", "Lesser Yellownape"),
  ("Bar-headed Goose", "Common Redshank"),
  ("Malabar Parakeet", "Flame-throated Bulbul"),
  ("Osprey", "Ruddy Shelduck"),
  ("Bar-winged Flycatcher-shrike", "White-throated Fantail"),
  ("Bank Myna", "Eurasian Moorhen"),
  ("Dark-fronted Babbler", "Rufous Babbler"),
  ("Wood Sandpiper", "Marsh Sandpiper"),
  ("Alexandrine Parakeet", "Lesser Whitethroat"),
  ("Black Bulbul", "Blue-throated Barbet"),
  ("Greater Flameback", "Flame-throated Bulbul"),
  ("Ruddy Shelduck", "Common Redshank"),
  ("Chestnut-shouldered Petronia", "Common Woodshrike"),
  ("Tickell's Blue-Flycatcher", "Spot-breasted Fantail"),
  ("Malabar Trogon", "Orange Minivet"),
  ("Gull-billed Tern", "Eurasian Spoonbill"),
  ("Whiskered Tern", "Gull-billed Tern"),
  ("Garganey", "Eurasian Marsh-Harrier"),
  ("Asian Pied Starling", "Citrine Wagtail"),
  ("Southern Hill Myna", "Malabar Gray Hornbill"),
  ("White-bellied Drongo", "Common Woodshrike"),
  ("Little Spiderhunter", "Gray-fronted Green-Pigeon"),
  ("Asian Emerald Dove", "Malabar Trogon"),
  ("Brown-cheeked Fulvetta", "Greater Flameback"),
  ("Common Snipe", "Wood Sandpiper"),
  ("Hume's Warbler", "Oriental Turtle-Dove"),
  ("Brown-headed Gull", "Marsh Sandpiper"),
  ("Lesser Whitethroat", "Large Gray Babbler"),
  ("Green-winged Teal", "Green Sandpiper"),
  ("Red Spurfowl", "Dark-fronted Babbler"),
  ("Garganey", "Marsh Sandpiper"),
  ("Asian Fairy-bluebird", "Malabar Parakeet"),
  ("Bar-headed Goose", "Little Stint"),
  ("Malabar Barbet", "Malabar Parakeet"),
  ("Southern Hill Myna", "Asian Fairy-bluebird"),
  ("Bar-winged Flycatcher-shrike", "Lesser Yellownape"),
  ("Little Spiderhunter", "Bar-winged Flycatcher-shrike"),
  ("White-bellied Treepie", "Yellow-browed Bulbul"),
  ("Little Ringed Plover", "Common Snipe"),
  ("Gadwall", "Eurasian Marsh-Harrier"),
  ("Rufous Woodpecker", "Dark-fronted Babbler"),
  ("Ashy-crowned Sparrow-Lark", "Bay-backed Shrike"),
  ("Temminck's Stint", "Eurasian Spoonbill"),
  ("Bar-winged Flycatcher-shrike", "Dark-fronted Babbler"),
  ("Kentish Plover", "Eurasian Spoonbill"),
  ("Southern Hill Myna", "Malabar Trogon"),
  ("Malabar Trogon", "Bar-winged Flycatcher-shrike"),
  ("Tawny-bellied Babbler", "Blue-faced Malkoha"),
  ("Common Snipe", "Common Greenshank"),
  ("Siberian Stonechat", "Ruddy Shelduck"),
  ("Gray-headed Canary-Flycatcher", "Gray Bushchat"),
  ("Greater Flameback", "Asian Fairy-bluebird"),
  ("Rufous-tailed Lark", "Common Babbler"),
  ("Greater Flameback", "Malabar Gray Hornbill"),
  ("White-rumped Shama", "Black-naped Monarch"),
  ("Garganey", "Glossy Ibis"),
  ("Malabar Barbet", "Velvet-fronted Nuthatch"),
  ("Nilgiri Flowerpecker", "Gray-fronted Green-Pigeon"),
  ("Black Redstart", "Alexandrine Parakeet"),
  ("Northern Shoveler", "Temminck's Stint"),
  ("Bar-winged Flycatcher-shrike", "Malabar Woodshrike"),
  ("Bank Myna", "Ruddy Shelduck"),
  ("Gull-billed Tern", "Common Greenshank"),
  ("Indian Silverbill", "Common Babbler"),
  ("Indian Chat", "Hume's Warbler"),
  ("Brown-cheeked Fulvetta", "Nilgiri Flowerpecker"),
  ("Eurasian Spoonbill", "Common Redshank"),
  ("Bank Myna", "Large Gray Babbler"),
  ("Bar-headed Goose", "Great Cormorant"),
  ("Black Bulbul", "Hume's Warbler"),
  ("Malabar Parakeet", "Dark-fronted Babbler"),
  ("White-bellied Drongo", "Tawny-bellied Babbler"),
  ("Malabar Whistling-Thrush", "Indian Scimitar-Babbler"),
  ("Greater Flameback", "Lesser Yellownape"),
  ("Gray-headed Canary-Flycatcher", "Blue Whistling-Thrush"),
  ("Bay-backed Shrike", "Large Gray Babbler"),
  ("Green-winged Teal", "Hume's Warbler"),
  ("Yellow-browed Bulbul", "Asian Fairy-bluebird"),
  ("Yellow-eyed Babbler", "Lesser Whitethroat"),
  ("White-bellied Treepie", "Orange Minivet"),
  ("Malabar Parakeet", "Gray-fronted Green-Pigeon"),
  ("Lesser Yellownape", "White-throated Fantail"),
  ("Crimson-backed Sunbird", "Velvet-fronted Nuthatch"),
  ("White-browed Fantail", "Common Woodshrike"),
  ("Temminck's Stint", "White Wagtail"),
  ("Malabar Whistling-Thrush", "Rufous Babbler"),
  ("Rufous Woodpecker", "Gray-fronted Green-Pigeon"),
  ("Brown-capped Woodpecker", "Malabar Woodshrike"),
  ("Ruddy Shelduck", "Marsh Sandpiper"),
  ("Gadwall", "Siberian Stonechat"),
  ("Little Spiderhunter", "Malabar Gray Hornbill"),
  ("Glossy Ibis", "Marsh Sandpiper"),
  ("Bar-headed Goose", "Woolly-necked Stork"),
  ("Black-tailed Godwit", "Citrine Wagtail"),
  ("Little Spiderhunter", "Malabar Woodshrike"),
  ("White-bellied Treepie", "Velvet-fronted Nuthatch"),
  ("Little Spiderhunter", "White-rumped Shama"),
  ("Flame-throated Bulbul", "Malabar Starling"),
  ("Malabar Trogon", "Malabar Whistling-Thrush"),
  ("Citrine Wagtail", "Siberian Stonechat"),
  ("Oriental Skylark", "Ashy-crowned Sparrow-Lark"),
  ("Northern Pintail", "Citrine Wagtail"),
  ("Nilgiri Flowerpecker", "Flame-throated Bulbul"),
  ("Kentish Plover", "Ruddy Shelduck"),
  ("Indian Chat", "Asian Pied Starling"),
  ("Hair-crested Drongo", "Gray Bushchat"),
  ("Rufous-tailed Lark", "Yellow-wattled Lapwing"),
  ("Lesser Sand-Plover", "Marsh Sandpiper"),
  ("Oriental Skylark", "Paddyfield Pipit"),
  ("Kentish Plover", "Common Snipe"),
  ("Green-winged Teal", "Eurasian Moorhen"),
  ("Bar-headed Goose", "Eurasian Moorhen"),
  ("Short-toed Snake-Eagle", "Ashy-crowned Sparrow-Lark"),
  ("Garganey", "Temminck's Stint"),
  ("Taiga Flycatcher", "Black Redstart"),
  ("Southern Hill Myna", "Flame-throated Bulbul"),
  ("Hair-crested Drongo", "Hume's Warbler"),
  ("Bank Myna", "Common Snipe"),
  ("Dark-fronted Babbler", "Velvet-fronted Nuthatch"),
  ("Bar-headed Goose", "Common Greenshank"),
  ("Gadwall", "Common Redshank"),
  ("Asian Emerald Dove", "White-rumped Shama"),
  ("Northern Shoveler", "Eurasian Coot"),
  ("Little Ringed Plover", "Black-tailed Godwit"),
  ("Bar-headed Goose", "Kentish Plover"),
  ("Asian Fairy-bluebird", "Velvet-fronted Nuthatch"),
  ("Clamorous Reed-Warbler", "Red Avadavat"),
  ("White-rumped Shama", "Puff-throated Babbler"),
  ("Clamorous Reed-Warbler", "Eurasian Marsh-Harrier"),
  ("Garganey", "Eurasian Spoonbill"),
  ("Black-winged Stilt", "Marsh Sandpiper"),
  ("Northern Pintail", "Temminck's Stint"),
  ("Bar-headed Goose", "Red-naped Ibis"),
  ("Red-breasted Flycatcher", "Chestnut-shouldered Petronia"),
  ("Northern Shoveler", "Eurasian Moorhen"),
  ("Brown-headed Gull", "Common Greenshank"),
  ("Bar-headed Goose", "Siberian Stonechat"),
  ("Red Avadavat", "Tricolored Munia"),
  ("Brown-cheeked Fulvetta", "Indian Scimitar-Babbler"),
  ("Little Stint", "Western Yellow Wagtail"),
  ("Orange Minivet", "Flame-throated Bulbul"),
  ("Indian Chat", "Black Redstart"),
  ("Pheasant-tailed Jacana", "Bronze-winged Jacana"),
  ("Crimson-backed Sunbird", "Orange Minivet"),
  ("Red Avadavat", "Common Babbler"),
  ("Northern Shoveler", "Little Stint"),
  ("Yellow-eyed Babbler", "Jungle Prinia"),
  ("Bar-headed Goose", "Painted Stork"),
  ("White-bellied Drongo", "Chestnut-shouldered Petronia"),
  ("Yellow-browed Bulbul", "Malabar Gray Hornbill"),
  ("Taiga Flycatcher", "Blue-throated Barbet"),
  ("Bar-headed Goose", "Green Sandpiper"),
  ("Black-tailed Godwit", "Painted Stork"),
  ("Eurasian Spoonbill", "River Tern"),
  ("Garganey", "Cotton Pygmy-Goose"),
  ("Bank Myna", "Northern Shoveler"),
  ("Lesser Sand-Plover", "Black-tailed Godwit"),
  ("Orange Minivet", "Velvet-fronted Nuthatch"),
  ("Black-tailed Godwit", "Wood Sandpiper"),
  ("Temminck's Stint", "Eurasian Marsh-Harrier"),
  ("Thick-billed Flowerpecker", "Gray-fronted Green-Pigeon"),
  ("Blue-throated Barbet", "White-throated Fantail"),
  ("Crimson-backed Sunbird", "Malabar Parakeet"),
  ("Gadwall", "Eurasian Coot"),
  ("Common Snipe", "Siberian Stonechat"),
  ("White-bellied Treepie", "Lesser Yellownape"),
  ("Rufous-tailed Lark", "Red Collared-Dove"),
  ("Malabar Barbet", "Malabar Starling"),
  ("Gray-headed Canary-Flycatcher", "Bar-winged Flycatcher-shrike"),
  ("Asian Emerald Dove", "Dark-fronted Babbler"),
  ("Bank Myna", "White Wagtail"),
  ("Northern Pintail", "Marsh Sandpiper"),
  ("Northern Shoveler", "Glossy Ibis"),
  ("Yellow-browed Bulbul", "Malabar Barbet"),
  ("Oriental Skylark", "Temminck's Stint"),
  ("Black-naped Monarch", "Flame-throated Bulbul"),
  ("Greater Flameback", "Crimson-backed Sunbird"),
  ("Green Sandpiper", "Marsh Sandpiper"),
  ("Rufous-tailed Lark", "Large Gray Babbler"),
  ("Red Avadavat", "Booted Warbler"),
  ("Nilgiri Flowerpecker", "Malabar Barbet"),
  ("Eurasian Marsh-Harrier", "Black-tailed Godwit"),
  ("Woolly-necked Stork", "Common Snipe"),
  ("Gray-headed Canary-Flycatcher", "Hume's Warbler"),
  ("Asian Fairy-bluebird", "Orange Minivet"),
  ("Bank Myna", "Eurasian Collared-Dove"),
  ("Green-winged Teal", "Siberian Stonechat"),
  ("Greater Flameback", "Velvet-fronted Nuthatch"),
  ("Little Ringed Plover", "Ruddy Shelduck"),
  ("Malabar Trogon", "Black-naped Monarch"),
  ("Common Snipe", "Glossy Ibis"),
  ("Yellow-browed Bulbul", "Gray-fronted Green-Pigeon"),
  ("Bank Myna", "Red-breasted Flycatcher"),
  ("Nilgiri Flowerpecker", "Asian Fairy-bluebird"),
  ("Little Stint", "Wood Sandpiper"),
  ("Brown-capped Woodpecker", "Lesser Yellownape"),
  ("Malabar Whistling-Thrush", "Dark-fronted Babbler"),
  ("white egret sp.", "cormorant sp."),
  ("Black-winged Stilt", "Eurasian Spoonbill"),
  ("Green-winged Teal", "White Wagtail"),
  ("Western Yellow Wagtail", "Marsh Sandpiper"),
  ("Green-winged Teal", "Western Yellow Wagtail"),
  ("Hair-crested Drongo", "Blue Whistling-Thrush"),
  ("Lesser Whitethroat", "Ruddy Shelduck"),
  ("Bank Myna", "Black-tailed Godwit"),
  ("Brown-capped Woodpecker", "White-bellied Drongo"),
  ("Red Avadavat", "Common Snipe"),
  ("Garganey", "Ruddy Shelduck"),
  ("Common Snipe", "Eurasian Spoonbill"),
  ("Taiga Flycatcher", "Lesser Whitethroat"),
  ("Rufous-tailed Lark", "Indian Silverbill"),
  ("Bank Myna", "Red Avadavat"),
  ("Brown-headed Barbet", "Yellow-footed Pigeon"),
  ("Brown-cheeked Fulvetta", "Asian Emerald Dove"),
  ("Siberian Stonechat", "Lesser Whitethroat"),
  ("Asian Emerald Dove", "Flame-throated Bulbul"),
  ("Asian Emerald Dove", "Asian Fairy-bluebird"),
  ("Malabar Gray Hornbill", "Malabar Starling"),
  ("Orange Minivet", "Malabar Barbet"),
  ("Asian Brown Flycatcher", "Malabar Woodshrike"),
  ("Gadwall", "Common Babbler"),
  ("White Wagtail", "Black Redstart"),
  ("Common Babbler", "Large Gray Babbler"),
  ("Bar-winged Flycatcher-shrike", "Crimson-backed Sunbird"),
  ("Green-winged Teal", "Glossy Ibis"),
  ("Eurasian Moorhen", "Citrine Wagtail"),
  ("Nilgiri Flowerpecker", "Malabar Woodshrike"),
  ("White-rumped Shama", "Hair-crested Drongo"),
  ("Black Redstart", "White-browed Fantail"),
  ("Temminck's Stint", "Siberian Stonechat"),
  ("Brown-headed Barbet", "Alexandrine Parakeet"),
  ("Garganey", "Little Stint"),
  ("Eurasian Marsh-Harrier", "Eurasian Spoonbill"),
  ("Orange Minivet", "Gray-fronted Green-Pigeon"),
  ("Indian Silverbill", "Lesser Whitethroat"),
  ("Verditer Flycatcher", "Himalayan Bulbul"),
  ("Alexandrine Parakeet", "Yellow-footed Pigeon"),
  ("Asian Emerald Dove", "Gray-fronted Green-Pigeon"),
  ("Little Spiderhunter", "Greater Flameback"),
  ("Ashy-crowned Sparrow-Lark", "Indian Silverbill"),
  ("White-eyed Buzzard", "Ashy-crowned Sparrow-Lark"),
  ("Brown-cheeked Fulvetta", "Orange Minivet"),
  ("Bay-backed Shrike", "Red Collared-Dove"),
  ("Malabar Gray Hornbill", "Orange Minivet"),
  ("Clamorous Reed-Warbler", "Pheasant-tailed Jacana"),
  ("Eurasian Marsh-Harrier", "Ruddy Shelduck"),
  ("Bar-headed Goose", "River Tern"),
  ("Clamorous Reed-Warbler", "Garganey"),
  ("Garganey", "Wood Sandpiper"),
  ("Hair-crested Drongo", "Lesser Yellownape"),
  ("Velvet-fronted Nuthatch", "Gray-fronted Green-Pigeon"),
  ("Gadwall", "Green Sandpiper"),
  ("Little Ringed Plover", "Western Yellow Wagtail"),
  ("Bar-winged Flycatcher-shrike", "Flame-throated Bulbul"),
  ("Golden-fronted Leafbird", "Gray-fronted Green-Pigeon"),
  ("Osprey", "Common Greenshank"),
  ("White-rumped Shama", "Blue-throated Barbet"),
  ("Garganey", "Eurasian Coot"),
  ("Orange Minivet", "Dark-fronted Babbler"),
  ("Bay-backed Shrike", "Jungle Prinia"),
  ("White-rumped Shama", "Thick-billed Flowerpecker"),
  ("Nilgiri Flowerpecker", "Malabar Gray Hornbill"),
  ("Little Ringed Plover", "Common Greenshank"),
  ("Red Avadavat", "Ashy-crowned Sparrow-Lark"),
  ("Gray-headed Canary-Flycatcher", "Verditer Flycatcher"),
  ("White Wagtail", "Lesser Whitethroat"),
  ("Green-winged Teal", "Kentish Plover"),
  ("Gadwall", "Indian Chat"),
  ("Eurasian Marsh-Harrier", "Marsh Sandpiper"),
  ("Alexandrine Parakeet", "Common Babbler"),
  ("White-rumped Shama", "Dark-fronted Babbler"),
  ("Nilgiri Flowerpecker", "Malabar Trogon"),
  ("White-bellied Treepie", "Indian Scimitar-Babbler"),
  ("Black Bulbul", "Lesser Yellownape"),
  ("Southern Hill Myna", "Crimson-backed Sunbird"),
  ("Bar-winged Flycatcher-shrike", "Asian Fairy-bluebird"),
  ("Northern Pintail", "Eurasian Coot"),
  ("Indian Chat", "Large Gray Babbler"),
  ("Yellow-eyed Babbler", "Red Collared-Dove"),
  ("Southern Hill Myna", "Gray-fronted Green-Pigeon"),
  ("Gray-headed Canary-Flycatcher", "Hair-crested Drongo"),
  ("Rufous Woodpecker", "Flame-throated Bulbul"),
  ("Green-winged Teal", "Eurasian Coot"),
  ("Northern Pintail", "Lesser Whitethroat"),
  ("Hair-crested Drongo", "Bar-winged Flycatcher-shrike"),
  ("Golden-fronted Leafbird", "Flame-throated Bulbul"),
  ("Painted Stork", "Marsh Sandpiper"),
  ("Temminck's Stint", "Lesser Whitethroat"),
  ("White-bellied Treepie", "Nilgiri Flowerpecker"),
  ("Tickell's Blue-Flycatcher", "Tawny-bellied Babbler"),
  ("Bank Myna", "Oriental Skylark"),
  ("Orange Minivet", "Malabar Parakeet"),
  ("Gadwall", "Brown-headed Gull"),
  ("Malabar Whistling-Thrush", "Malabar Barbet"),
  ("Jerdon's Bushlark", "Jungle Prinia"),
  ("Nilgiri Flowerpecker", "Yellow-browed Bulbul"),
  ("Brown-cheeked Fulvetta", "Malabar Parakeet"),
  ("Little Ringed Plover", "Ashy-crowned Sparrow-Lark"),
  ("Eurasian Marsh-Harrier", "Glossy Ibis"),
  ("Indian Chat", "Citrine Wagtail"),
  ("Northern Shoveler", "Painted Stork"),
  ("Bar-headed Goose", "Little Ringed Plover"),
  ("Bay-backed Shrike", "Common Babbler"),
  ("Northern Shoveler", "Green Sandpiper"),
  ("Chestnut-shouldered Petronia", "Black Redstart"),
  ("Indian Silverbill", "Large Gray Babbler"),
  ("Black-tailed Godwit", "Osprey"),
  ("Gadwall", "Little Stint"),
  ("Malabar Trogon", "Asian Brown Flycatcher"),
  ("Ashy-crowned Sparrow-Lark", "Large Gray Babbler"),
  ("Indian Chat", "Alexandrine Parakeet"),
  ("Flame-throated Bulbul", "Velvet-fronted Nuthatch"),
  ("Citrine Wagtail", "Marsh Sandpiper"),
  ("Southern Hill Myna", "Velvet-fronted Nuthatch"),
  ("White-rumped Shama", "Lesser Yellownape"),
  ("Puff-throated Babbler", "Dark-fronted Babbler"),
  ("Black-tailed Godwit", "Western Yellow Wagtail"),
  ("Southern Hill Myna", "Yellow-browed Bulbul"),
  ("Brown-cheeked Fulvetta", "Malabar Whistling-Thrush"),
  ("Greater Flameback", "Malabar Barbet"),
  ("Ashy-crowned Sparrow-Lark", "Red Collared-Dove"),
  ("Northern Pintail", "Glossy Ibis"),
  ("Chestnut-shouldered Petronia", "Common Babbler"),
  ("Brown-capped Woodpecker", "Malabar Trogon"),
  ("Hair-crested Drongo", "Gray-hooded Warbler"),
  ("Clamorous Reed-Warbler", "Temminck's Stint"),
  ("Gadwall", "Common Greenshank"),
  ("Little Spiderhunter", "Black-naped Monarch"),
  ("Gadwall", "Asian Pied Starling"),
  ("Northern Pintail", "Eurasian Moorhen"),
  ("Osprey", "Common Redshank"),
  ("Brown-cheeked Fulvetta", "Puff-throated Babbler"),
  ("Little Spiderhunter", "Malabar Barbet"),
  ("Malabar Gray Hornbill", "Velvet-fronted Nuthatch"),
  ("Bank Myna", "Yellow-footed Pigeon"),
  ("Green-winged Teal", "Little Ringed Plover"),
  ("Little Stint", "Black-winged Stilt"),
  ("Green-winged Teal", "Black-winged Stilt"),
  ("Bronzed Drongo", "Malabar Woodshrike"),
  ("Red-breasted Flycatcher", "Brown-headed Barbet"),
  ("Gadwall", "Kentish Plover"),
  ("Black-naped Monarch", "Rufous Woodpecker"),
  ("Hair-crested Drongo", "Taiga Flycatcher"),
  ("Chestnut-headed Bee-eater", "Malabar Woodshrike"),
  ("Red Spurfowl", "Flame-throated Bulbul"),
  ("Green-winged Teal", "Great Cormorant"),
  ("Bay-backed Shrike", "Brahminy Starling"),
  ("Whiskered Tern", "Brown-headed Gull"),
  ("Eurasian Coot", "Eurasian Moorhen"),
  ("Little Spiderhunter", "Asian Emerald Dove"),
  ("Bar-winged Flycatcher-shrike", "Gray-fronted Green-Pigeon"),
  ("Gadwall", "Osprey"),
  ("Clamorous Reed-Warbler", "Marsh Sandpiper"),
  ("Northern Pintail", "Little Stint"),
  ("Short-toed Snake-Eagle", "Tawny-bellied Babbler"),
  ("Yellow-eyed Babbler", "Spot-breasted Fantail"),
  ("Common Snipe", "Lesser Whitethroat"),
  ("White-browed Fantail", "Yellow-footed Pigeon"),
  ("Lesser Yellownape", "Flame-throated Bulbul"),
  ("Black Redstart", "Ruddy Shelduck"),
  ("Asian Emerald Dove", "Malabar Woodshrike"),
  ("Northern Shoveler", "Western Yellow Wagtail"),
  ("Short-toed Snake-Eagle", "Booted Warbler"),
  ("Orange-headed Thrush", "Malabar Trogon"),
  ("Green-winged Teal", "Common Greenshank"),
  ("Red Avadavat", "Bar-headed Goose"),
  ("Little Ringed Plover", "River Tern"),
  ("Indian Silverbill", "Bay-backed Shrike"),
  ("Taiga Flycatcher", "Red-breasted Flycatcher"),
  ("Common Greenshank", "Green Sandpiper"),
  ("Bar-headed Goose", "Osprey"),
  ("Gadwall", "Marsh Sandpiper"),
  ("Little Stint", "Green Sandpiper"),
  ("Asian Brown Flycatcher", "Gray-fronted Green-Pigeon"),
  ("Citrine Wagtail", "Common Redshank"),
  ("Greater Flameback", "Malabar Parakeet"),
  ("Little Ringed Plover", "Eurasian Spoonbill"),
  ("Little Ringed Plover", "Green Sandpiper"),
  ("Bar-headed Goose", "Hume's Warbler"),
  ("Ashy-crowned Sparrow-Lark", "Eurasian Spoonbill"),
  ("Little Stint", "Citrine Wagtail"),
  ("Red Avadavat", "Gadwall"),
  ("Brown-capped Woodpecker", "Velvet-fronted Nuthatch"),
  ("Garganey", "Bar-headed Goose"),
  ("Large Cuckooshrike", "White-bellied Drongo"),
  ("Malabar Whistling-Thrush", "Flame-throated Bulbul"),
  ("Southern Hill Myna", "Dark-fronted Babbler"),
  ("Northern Shoveler", "Great Cormorant"),
  ("Malabar Whistling-Thrush", "Malabar Woodshrike"),
  ("Gadwall", "Alexandrine Parakeet"),
  ("Asian Fairy-bluebird", "Lesser Yellownape"),
  ("Golden-fronted Leafbird", "Dark-fronted Babbler"),
  ("Bronze-winged Jacana", "Cotton Pygmy-Goose"),
  ("Southern Hill Myna", "Orange Minivet"),
  ("Indian Scimitar-Babbler", "Malabar Barbet"),
  ("Northern Shoveler", "Black Redstart"),
  ("Gray Junglefowl", "Indian Scimitar-Babbler"),
  ("Little Ringed Plover", "Common Redshank"),
  ("Northern Shoveler", "Black-winged Stilt"),
  ("Malabar Parakeet", "Velvet-fronted Nuthatch"),
  ("Northern Pintail", "Green Sandpiper"),
  ("Eurasian Moorhen", "Pheasant-tailed Jacana"),
  ("White-bellied Treepie", "Black Eagle"),
  ("Brown-cheeked Fulvetta", "Southern Hill Myna"),
  ("Bank Myna", "Common Redshank"),
  ("Bar-headed Goose", "Western Yellow Wagtail"),
  ("Little Ringed Plover", "Wood Sandpiper"),
  ("Bar-headed Goose", "Asian Pied Starling"),
  ("Hair-crested Drongo", "Alexandrine Parakeet"),
  ("Lesser Yellownape", "Dark-fronted Babbler"),
  ("Indian Chat", "Brown-headed Barbet"),
  ("Little Stint", "Ashy-crowned Sparrow-Lark"),
  ("Jungle Prinia", "Common Woodshrike"),
  ("Red Spurfowl", "Malabar Trogon"),
  ("Asian Brown Flycatcher", "Flame-throated Bulbul"),
  ("Gray-headed Canary-Flycatcher", "Himalayan Bulbul"),
  ("Black Redstart", "Large Gray Babbler"),
  ("Bank Myna", "Red-naped Ibis"),
  ("Greater Flameback", "Yellow-browed Bulbul"),
  ("Northern Pintail", "Pheasant-tailed Jacana"),
  ("Large Cuckooshrike", "Brown-capped Woodpecker"),
  ("White-rumped Shama", "Velvet-fronted Nuthatch"),
  ("Temminck's Stint", "Woolly-necked Stork"),
  ("Red Spurfowl", "Rufous Woodpecker"),
  ("Yellow-eyed Babbler", "Indian Silverbill"),
  ("Little Spiderhunter", "Yellow-browed Bulbul"),
  ("Eurasian Marsh-Harrier", "Siberian Stonechat"),
  ("Yellow-browed Bulbul", "Malabar Parakeet"),
  ("Brown-cheeked Fulvetta", "Green/Greenish Warbler"),
  ("Northern Shoveler", "Indian Spot-billed Duck"),
  ("Bar-headed Goose", "Brown-headed Gull"),
  ("Bay-backed Shrike", "Lesser Whitethroat"),
  ("Red Avadavat", "Indian Chat"),
  ("Red Collared-Dove", "Large Gray Babbler"),
  ("White-eyed Buzzard", "Common Babbler"),
  ("Bar-headed Goose", "Glossy Ibis"),
  ("Golden-fronted Leafbird", "Malabar Woodshrike"),
  ("White-bellied Drongo", "Blue-faced Malkoha"),
  ("Rufous-tailed Lark", "Siberian Stonechat"),
  ("Green-winged Teal", "Painted Stork"),
  ("Eurasian Collared-Dove", "Common Babbler"),
  ("Lesser Yellownape", "Himalayan Bulbul"),
  ("Eurasian Spoonbill", "Common Greenshank"),
  ("Asian Emerald Dove", "White-bellied Treepie"),
  ("Gray-headed Canary-Flycatcher", "Taiga Flycatcher"),
  ("Nilgiri Flowerpecker", "Southern Hill Myna"),
  ("Little Spiderhunter", "Nilgiri Flowerpecker"),
  ("Common Snipe", "Black-winged Stilt"),
  ("Dark-fronted Babbler", "Malabar Starling"),
  ("Gray-headed Canary-Flycatcher", "Blue-throated Barbet"),
  ("Temminck's Stint", "Black-winged Stilt"),
  ("White-bellied Drongo", "Black-headed Cuckooshrike"),
  ("Booted Warbler", "Bay-backed Shrike"),
  ("Tickell's Blue-Flycatcher", "White-bellied Drongo"),
  ("Eurasian Moorhen", "Lesser Whitethroat"),
  ("Tawny-bellied Babbler", "Black-headed Cuckooshrike"),
  ("Clamorous Reed-Warbler", "Western Yellow Wagtail"),
  ("Citrine Wagtail", "Green Sandpiper"),
  ("Yellow-eyed Babbler", "Large Gray Babbler"),
  ("Wood Sandpiper", "Green Sandpiper"),
  ("Tawny-bellied Babbler", "White-browed Fantail"),
  ("Red Collared-Dove", "Yellow-wattled Lapwing"),
  ("Striated Heron", "Common Redshank"),
  ("Bank Myna", "Eurasian Spoonbill"),
  ("Garganey", "Osprey"),
  ("Bar-headed Goose", "Eurasian Coot"),
  ("Red-breasted Flycatcher", "Common Babbler"),
  ("Taiga Flycatcher", "Citrine Wagtail"),
  ("Rufous-tailed Lark", "Little Ringed Plover"),
  ("Temminck's Stint", "Brown-headed Gull"),
  ("Spot-billed Pelican", "Glossy Ibis"),
  ("Yellow-eyed Babbler", "Bay-backed Shrike"),
  ("Malabar Trogon", "Rufous Woodpecker"),
  ("Black-headed Cuckooshrike", "Common Woodshrike"),
  ("Brown-capped Woodpecker", "Common Woodshrike"),
  ("Asian Fairy-bluebird", "Malabar Starling"),
  ("Ruddy Shelduck", "Green Sandpiper"),
  ("Malabar Parakeet", "Malabar Starling"),
  ("Crimson-backed Sunbird", "Indian Scimitar-Babbler"),
  ("Black Redstart", "Yellow-footed Pigeon"),
  ("Citrine Wagtail", "Western Yellow Wagtail"),
  ("Indian Chat", "Red Collared-Dove"),
  ("Lesser Whistling-Duck", "Cotton Pygmy-Goose"),
  ("Rufous-tailed Lark", "Lesser Whitethroat"),
  ("Yellow-browed Bulbul", "Orange Minivet"),
  ("Little Spiderhunter", "Velvet-fronted Nuthatch"),
  ("Oriental Skylark", "Common Snipe"),
  ("Chestnut-shouldered Petronia", "Brown-headed Barbet"),
  ("Jerdon's Leafbird", "White-bellied Drongo"),
  ("Eurasian Marsh-Harrier", "Green Sandpiper"),
  ("Eurasian Coot", "Pheasant-tailed Jacana"),
  ("Indian Swiftlet", "Rufous Babbler"),
  ("Greater Flameback", "Southern Hill Myna"),
  ("Black Eagle", "Malabar Woodshrike"),
  ("Asian Emerald Dove", "Bar-winged Flycatcher-shrike"),
  ("Oriental Skylark", "Little Ringed Plover"),
  ("Lesser Whitethroat", "Yellow-footed Pigeon"),
  ("Brown-headed Barbet", "Lesser Whitethroat"),
  ("Thick-billed Flowerpecker", "Chestnut-shouldered Petronia"),
  ("Eurasian Collared-Dove", "Lesser Whitethroat"),
  ("Greater Flameback", "White-rumped Shama"),
  ("Lesser Whitethroat", "Green Sandpiper"),
  ("Green-winged Teal", "Woolly-necked Stork"),
  ("Rufous Woodpecker", "Lesser Yellownape"),
  ("Little Stint", "Eurasian Marsh-Harrier"),
  ("Bay-backed Shrike", "Chestnut-shouldered Petronia"),
  ("Garganey", "Western Yellow Wagtail"),
  ("Northern Pintail", "Painted Stork"),
  ("Malabar Trogon", "Vernal Hanging-Parrot"),
  ("Red Avadavat", "Black Redstart"),
  ("Rufous-tailed Lark", "Yellow-eyed Babbler"),
  ("Blue Whistling-Thrush", "Lesser Yellownape"),
  ("Little Stint", "Painted Stork"),
  ("Bar-winged Flycatcher-shrike", "Black-naped Monarch"),
  ("Green/Greenish Warbler", "Malabar Woodshrike"),
  ("Citrine Wagtail", "Hume's Warbler"),
  ("Northern Shoveler", "Common Redshank"),
  ("Hume's Warbler", "Common Babbler"),
  ("Yellow-eyed Babbler", "Black Redstart"),
  ("Blue-faced Malkoha", "Jungle Prinia"),
  ("Red Avadavat", "Temminck's Stint"),
  ("Clamorous Reed-Warbler", "Green-winged Teal"),
  ("White-rumped Shama", "Rufous Woodpecker"),
  ("Northern Shoveler", "Red-breasted Flycatcher"),
  ("River Tern", "Ruddy Shelduck"),
  ("Bank Myna", "Hume's Warbler"),
  ("Bar-winged Flycatcher-shrike", "Himalayan Bulbul"),
  ("Garganey", "Green Sandpiper"),
  ("Booted Warbler", "Rosy Starling"),
  ("Rufous-tailed Lark", "Ruddy Shelduck"),
  ("Indian Spot-billed Duck", "Bar-headed Goose"),
  ("Bar-winged Flycatcher-shrike", "Malabar Gray Hornbill"),
  ("Red-breasted Flycatcher", "Yellow-footed Pigeon"),
  ("Bronzed Drongo", "Malabar Trogon"),
  ("White-bellied Treepie", "Rufous Babbler"),
  ("Bank Myna", "Wire-tailed Swallow"),
  ("Green/Greenish Warbler", "Malabar Barbet"),
  ("White-bellied Drongo", "Brown-headed Barbet"),
  ("Eurasian Marsh-Harrier", "Western Yellow Wagtail"),
  ("Red Avadavat", "Green-winged Teal"),
  ("Green-winged Teal", "Wood Sandpiper"),
  ("Little Stint", "Glossy Ibis"),
  ("Pheasant-tailed Jacana", "Gray-headed Swamphen"),
  ("Eurasian Spoonbill", "Red-naped Ibis"),
  ("Bar-headed Goose", "Black-winged Stilt"),
  ("White-bellied Treepie", "Malabar Whistling-Thrush"),
  ("Great Cormorant", "Ruddy Shelduck"),
  ("Gadwall", "Red-naped Ibis"),
  ("Chestnut-shouldered Petronia", "Red Collared-Dove"),
  ("Pheasant-tailed Jacana", "Glossy Ibis"),
  ("Gray Junglefowl", "Dark-fronted Babbler"),
  ("White-bellied Drongo", "Spot-breasted Fantail"),
  ("Blue-faced Malkoha", "White-browed Bulbul"),
  ("Green Sandpiper", "Common Redshank"),
  ("Little Spiderhunter", "Orange Minivet"),
  ("Striated Heron", "Osprey"),
  ("Crimson-backed Sunbird", "Malabar Starling"),
  ("White-rumped Shama", "Asian Fairy-bluebird"),
  ("Temminck's Stint", "Indian Chat"),
  ("Brown-cheeked Fulvetta", "Red Spurfowl"),
  ("Striated Heron", "Lesser Sand-Plover"),
  ("Western Yellow Wagtail", "Wood Sandpiper"),
  ("Vernal Hanging-Parrot", "Malabar Woodshrike"),
  ("Red-breasted Flycatcher", "Eurasian Spoonbill"),
  ("Osprey", "Marsh Sandpiper"),
  ("Northern Pintail", "Great Cormorant"),
  ("Brown-headed Gull", "Ruddy Shelduck"),
  ("Paddyfield Pipit", "Ashy-crowned Sparrow-Lark"),
  ("Yellow-eyed Babbler", "Short-toed Snake-Eagle"),
  ("Short-toed Snake-Eagle", "Black-shouldered Kite"),
  ("Asian Emerald Dove", "Malabar Gray Hornbill"),
  ("Red Avadavat", "Siberian Stonechat"),
  ("Eurasian Coot", "Spot-billed Pelican"),
  ("Black-headed Cuckooshrike", "Blue-faced Malkoha"),
  ("Short-toed Snake-Eagle", "Indian Silverbill"),
  ("White Wagtail", "Siberian Stonechat"),
  ("Greater Flameback", "Bar-winged Flycatcher-shrike"),
  ("Western Yellow Wagtail", "Green Sandpiper"),
  ("Little Spiderhunter", "Malabar Parakeet"),
  ("Indian Chat", "Red-breasted Flycatcher"),
  ("Yellow-eyed Babbler", "Red-breasted Flycatcher"),
  ("Painted Stork", "Glossy Ibis"),
  ("White-rumped Shama", "Tickell's Blue-Flycatcher"),
  ("Crimson-backed Sunbird", "Malabar Whistling-Thrush"),
  ("Yellow-eyed Babbler", "White-browed Fantail"),
  ("Red-breasted Flycatcher", "Citrine Wagtail"),
  ("Oriental Skylark", "Citrine Wagtail"),
  ("Chestnut-shouldered Petronia", "Brahminy Starling"),
  ("Hair-crested Drongo", "Great Barbet"),
  ("Bank Myna", "Red Collared-Dove"),
  ("Rufous Woodpecker", "Malabar Woodshrike"),
  ("Gadwall", "Pheasant-tailed Jacana"),
  ("Red Avadavat", "Bay-backed Shrike"),
  ("Green-winged Teal", "Indian Spot-billed Duck"),
  ("Common Snipe", "Pheasant-tailed Jacana"),
  ("Eurasian Marsh-Harrier", "Osprey"),
  ("Woolly-necked Stork", "Ruddy Shelduck"),
  ("Eurasian Coot", "Little Grebe"),
  ("Oriental Skylark", "Bar-headed Goose"),
  ("Northern Shoveler", "Pheasant-tailed Jacana"),
  ("Ruddy Shelduck", "Common Greenshank"),
  ("Garganey", "Black-winged Stilt"),
  ("Little Ringed Plover", "Woolly-necked Stork"),
  ("Bar-headed Goose", "Booted Eagle"),
  ("Rufous-tailed Lark", "Booted Warbler"),
  ("Gadwall", "Glossy Ibis"),
  ("Red Avadavat", "Citrine Wagtail"),
  ("Gray Heron", "Eurasian Spoonbill"),
  ("White-eyed Buzzard", "Black-shouldered Kite"),
  ("Pheasant-tailed Jacana", "Black-tailed Godwit"),
  ("Gray-hooded Warbler", "Lesser Yellownape"),
  ("Green-winged Teal", "Osprey"),
  ("Northern Pintail", "Common Greenshank"),
  ("Bar-headed Goose", "Ashy-crowned Sparrow-Lark"),
  ("Short-toed Snake-Eagle", "Booted Eagle"),
  ("Black-tailed Godwit", "River Tern"),
  ("Black Redstart", "Siberian Stonechat"),
  ("Northern Pintail", "Indian Spot-billed Duck"),
  ("White Wagtail", "Hume's Warbler"),
  ("Thick-billed Flowerpecker", "Common Woodshrike"),
  ("Malabar Trogon", "Black Eagle"),
  ("Tawny-bellied Babbler", "Common Woodshrike"),
  ("Osprey", "River Tern"),
  ("Rufous-tailed Lark", "Brahminy Starling"),
  ("Red Spurfowl", "Gray-fronted Green-Pigeon"),
  ("Nilgiri Flowerpecker", "Indian Scimitar-Babbler"),
  ("Red Avadavat", "Eurasian Marsh-Harrier"),
  ("Whiskered Tern", "Black-tailed Godwit"),
  ("Asian Brown Flycatcher", "Indian Pitta"),
  ("Greater Flameback", "Orange Minivet"),
  ("Temminck's Stint", "Osprey"),
  ("Pied Cuckoo", "Jungle Prinia"),
  ("Brown-capped Woodpecker", "Black-headed Cuckooshrike"),
  ("Rufous-tailed Lark", "Temminck's Stint"),
  ("Bank Myna", "Alexandrine Parakeet"),
  ("Western Yellow Wagtail", "Ruddy Shelduck"),
  ("Temminck's Stint", "Ashy-crowned Sparrow-Lark"),
  ("Northern Pintail", "Little Ringed Plover"),
  ("Indian Spot-billed Duck", "Gadwall"),
  ("Nilgiri Flowerpecker", "Malabar Parakeet"),
  ("Northern Pintail", "River Tern"),
  ("Jerdon's Leafbird", "Brown-capped Woodpecker"),
  ("Wood Sandpiper", "Common Greenshank"),
  ("Woolly-necked Stork", "River Tern"),
  ("Golden-fronted Leafbird", "Rufous Woodpecker"),
  ("Orange-headed Thrush", "Dark-fronted Babbler"),
  ("Red-breasted Flycatcher", "White Wagtail"),
  ("Indian Gray Hornbill", "Brown-headed Barbet"),
  ("Chestnut-shouldered Petronia", "Yellow-footed Pigeon"),
  ("Oriental Skylark", "Red Avadavat"),
  ("Short-toed Snake-Eagle", "Eurasian Kestrel"),
  ("Black-naped Monarch", "Asian Fairy-bluebird"),
  ("Northern Pintail", "Brown-headed Gull"),
  ("Temminck's Stint", "Painted Stork"),
  ("Rufous-tailed Lark", "Common Snipe"),
  ("Bank Myna", "Siberian Stonechat"),
  ("Yellow-browed Bulbul", "Velvet-fronted Nuthatch"),
  ("Red Avadavat", "Asian Pied Starling"),
  ("Green/Greenish Warbler", "Indian Scimitar-Babbler"),
  ("Black-winged Stilt", "Glossy Ibis"),
  ("Common Snipe", "White Wagtail")
)

We see that there are two kinds of pairs above:

  • Those with the same geography, particularly those confined mainly to the himalayas or the western ghat.
  • Those with similar habitats, most obviously water birds. Even better, we see waders co-occur with other waders and swimmers with other swimmers, and grassland birds occur with others.

Force-directed layout

We visualize the results using a force-directed layout, using the implementation in https://github.com/rsimon/scala-force-layout

In [15]:
classpath.addPath("/home/gadgil/code/scala-force-layout/target/scala-2.11/scala-force-layout_2.11-0.4.0.jar")

In [16]:
import at.ait.dme.forcelayout._
import at.ait.dme.forcelayout._
In [17]:
import deepwalk4s._

import SvgGraphs._
import deepwalk4s._
import SvgGraphs._
In [18]:
val birdNodes = topSet.toVector map ((s) => Node(s, commonNames(s)))
birdNodes: Vector[Node] = Vector(
  Node(
    "Psittacula eupatria",
    "Alexandrine Parakeet",
    1.0,
    0,
    List(),
    List(),
    NodeState(
      Vector2D(0.45907578782237324, 0.019321055374912244),
      Vector2D(0.0, 0.0),
      Vector2D(0.0, 0.0)
    )
  ),
  Node(
    "Corvus macrorhynchos",
    "Large-billed Crow",
    1.0,
    0,
    List(),
...
In [19]:
val birdEdges = for ((x, y) <- topPairs) yield Edge(Node(x, commonNames(x)), Node(y, commonNames(y)), coOccurence(x, y))
birdEdges: Vector[Edge] = Vector(
  Edge(
    Node(
      "Corvus splendens",
      "House Crow",
      1.0,
      0,
      List(),
      List(),
      NodeState(
        Vector2D(-0.2187561722736484, 0.280245108196452),
        Vector2D(0.0, 0.0),
        Vector2D(0.0, 0.0)
      )
    ),
    Node(
      "Acridotheres tristis",
      "Common Myna",
      1.0,
      0,
...
In [20]:
val birdGraph = new SpringGraph(birdNodes, birdEdges)
birdGraph: SpringGraph = at.ait.dme.forcelayout.SpringGraph@106fad9c
In [21]:
birdGraph.doLayout(maxIterations = 3000)

In [22]:
val birdTriples = birdGraph.nodes.toVector map ((n) => (n.state.pos.x, n.state.pos.y, n.label))
birdTriples: Vector[(Double, Double, String)] = Vector(
  (244.18298343815485, 32.43422228152828, "Alexandrine Parakeet"),
  (46.99990366291408, -44.32769751148088, "Large-billed Crow"),
  (103.75698510233357, 21.28726034086808, "Great Egret"),
  (354.34239330408036, -15.263688749163816, "Painted Stork"),
  (-79.83362939002694, 81.0052870677415, "Oriental White-eye"),
  (-625.6861184459806, 22.044998806442837, "White-bellied Treepie"),
  (107.7530442402556, 59.83810036758661, "Baya Weaver"),
  (-116.02449762362188, -73.56173118989649, "Ashy Woodswallow"),
  (-101.5849214576269, -53.550942694970516, "Tickell's Blue-Flycatcher"),
  (387.5527995984451, -31.775783023892277, "Eurasian Spoonbill"),
  (-116.5965713804115, 84.52934985414319, "Thick-billed Flowerpecker"),
  (-252.60937581961576, 91.1790621222419, "Lesser Yellownape"),
  (-146.62444817326747, 94.68069989097435, "Verditer Flycatcher"),
  (-86.58665188188104, 65.21678974804064, "Brown-capped Woodpecker"),
  (642.5778062127378, 82.75278524356881, "Bank Myna"),
  (114.20276753016499, 17.726592076045236, "Eurasian Marsh-Harrier"),
  (-192.44633802552045, 43.52359088057235, "Chestnut-headed Bee-eater"),
  (-144.31398404682346, -41.61462690834254, "Blue-faced Malkoha"),
  (155.4517705501544, 45.70756300316344, "Red-breasted Flycatcher"),
...
In [23]:
val bigBirdPlot = scatterPlot(birdTriples, width = 1200, height = 500, r = 2)
bigBirdPlot: String = """

      <div>
      
    
    <style>
      .labl {
        display: none;
      }
      .labelled:hover + .labl {
        display: inline;
      }
    </style>
    

    <svg version="1.1"
   baseProfile="full"
   width="1200" height="500"
   xmlns="http://www.w3.org/2000/svg">

...

Co-occurence plots

On hovering over points in the pictures below, we can see what bird they represent. One can wander around the picture to see how birds have clustered.

In [24]:
display.html(bigBirdPlot)
Alexandrine Parakeet Large-billed Crow Great Egret Painted Stork Oriental White-eye White-bellied Treepie Baya Weaver Ashy Woodswallow Tickell's Blue-Flycatcher Eurasian Spoonbill Thick-billed Flowerpecker Lesser Yellownape Verditer Flycatcher Brown-capped Woodpecker Bank Myna Eurasian Marsh-Harrier Chestnut-headed Bee-eater Blue-faced Malkoha Red-breasted Flycatcher Pied Kingfisher Oriental Turtle-Dove Tricolored Munia Malabar Gray Hornbill Short-toed Snake-Eagle Southern Hill Myna Himalayan Bulbul Common Iora Greenish Warbler Bay-backed Shrike Greater Coucal Gray Wagtail Indian Gray Hornbill Red Spurfowl Stork-billed Kingfisher Bronze-winged Jacana Orange Minivet Red-wattled Lapwing Pale-billed Flowerpecker Jungle Prinia Eurasian Kestrel Asian Openbill Indian Golden Oriole Red-whiskered Bulbul White Wagtail Booted Warbler Kentish Plover Gray-fronted Green-Pigeon Jungle Owlet Long-tailed Shrike House Sparrow white egret sp. Rufous Woodpecker Hair-crested Drongo Malabar Woodshrike Ashy Drongo Plain Prinia Indian Silverbill Siberian Stonechat Green/Greenish Warbler Rufous Treepie Brown-headed Barbet Gray Junglefowl Little Stint Osprey Pied Cuckoo Little Ringed Plover Garganey Coppersmith Barbet Black Bulbul Spot-billed Pelican Asian Brown Flycatcher Oriental Magpie-Robin Booted Eagle Common Tailorbird Malabar Barbet sunbird sp. Tawny-bellied Babbler Pheasant-tailed Jacana cormorant sp. Lesser Whitethroat Rock Pigeon Temminck's Stint Gray Heron Asian Emerald Dove Black Eagle Yellow-footed Pigeon Gray-headed Swamphen White-cheeked Barbet Paddyfield Pipit Asian Fairy-bluebird Little Swift Common Snipe Western Yellow Wagtail Yellow-eyed Babbler Asian Koel White-browed Fantail Crested Serpent-Eagle Common Redshank Laughing Dove Indian Spot-billed Duck Blyth's Reed-Warbler White-browed Bulbul Ashy-crowned Sparrow-Lark Black Redstart Rufous Babbler Jerdon's Leafbird Red-vented Bulbul Green-winged Teal Green Sandpiper Indian Cormorant Rosy Starling Pied Bushchat Black-tailed Godwit Indian Pond-Heron Brown Shrike Eurasian Hoopoe Hume's Warbler Indian Scimitar-Babbler Golden-fronted Leafbird crow sp. Plum-headed Parakeet White-eyed Buzzard Crimson-backed Sunbird Lesser Whistling-Duck Nilgiri Flowerpecker Little Spiderhunter Black-rumped Flameback Malabar Starling Barn Swallow Gray-breasted Prinia Eurasian Moorhen Cotton Pygmy-Goose Shikra Taiga Flycatcher Purple Sunbird Black-headed Cuckooshrike Chestnut-tailed Starling Spotted Owlet Indian Pitta Eurasian Collared-Dove Ashy Prinia Marsh Sandpiper Brahminy Starling Clamorous Reed-Warbler Black-shouldered Kite River Tern Brahminy Kite Gray Francolin Brown-headed Gull Chestnut-shouldered Petronia Greater Flameback Common Hawk-Cuckoo Gray-hooded Warbler Oriental Honey-buzzard Common Sandpiper Indian Swiftlet Red-rumped Swallow Scaly-breasted Munia Black-naped Monarch Blue-tailed Bee-eater Cinereous Tit Purple Heron Wire-tailed Swallow White-browed Wagtail Gray-headed Canary-Flycatcher Indian Peafowl Gray Bushchat Asian Palm-Swift White-rumped Munia Puff-throated Babbler Wood Sandpiper Malabar Whistling-Thrush Yellow-billed Babbler Brown-cheeked Fulvetta Indian Roller White-bellied Drongo Bronzed Drongo Black-headed Ibis Dark-fronted Babbler Flame-throated Bulbul Great Cormorant Northern Pintail Black Kite Gull-billed Tern Bar-headed Goose Northern Shoveler Red Avadavat Common Myna Citrine Wagtail Oriental Darter Large Gray Babbler Common Babbler Ruddy Shelduck Glossy Ibis Indian Paradise-Flycatcher Indian Robin Large Cuckooshrike Black Drongo Jungle Myna Green Bee-eater Whiskered Tern Blue Whistling-Thrush Striated Heron Gadwall Yellow-wattled Lapwing Little Egret Orange-headed Thrush Little Grebe Rose-ringed Parakeet Rufous-tailed Lark White-throated Kingfisher Red-naped Ibis Yellow-browed Bulbul Spot-breasted Fantail Black-winged Stilt Black-crowned Night-Heron Long-billed Sunbird Malabar Parakeet Indian Chat Jerdon's Bushlark Red Collared-Dove Lesser Sand-Plover House Crow White-rumped Shama Cattle Egret Bar-winged Flycatcher-shrike Malabar Trogon Greater Racket-tailed Drongo Common Greenshank Asian Pied Starling Black-hooded Oriole Woolly-necked Stork Blue-throated Barbet Oriental Skylark Intermediate Egret Dusky Crag-Martin Little Cormorant Zitting Cisticola White-throated Fantail Eurasian Coot Jungle Babbler White-breasted Waterhen Small Minivet Vernal Hanging-Parrot Common Kingfisher Purple-rumped Sunbird Great Barbet Spotted Dove Velvet-fronted Nuthatch Common Woodshrike

To the right of the picture are himalayan birds, and to the left are those from Malabar. The lower part of the main cluster is mainly water birds.

As geographical factors dominate the picture, it is worth separating these from others such as habitats. To do this, we take a variant of co-occurence where we take the ratio of the probability of a pair of species occuring together to what the probability would be if their occurence were independent conditioned on the geographic distribution.

In [25]:
val birdLocFreqF = data / "bird-location-freqs.tsv"
val locFreqF = data / "location-freqs.tsv"

val locationFreqs = read.lines(locFreqF) map(_.split("\t")) map {case Array(l, n) => (l, n.toInt)} toMap
birdLocFreqF: data.ThisType = /home/gadgil/code/ProvingGround/data/bird-location-freqs.tsv
locFreqF: data.ThisType = /home/gadgil/code/ProvingGround/data/location-freqs.tsv
locationFreqs: Map[String, Int] = Map(
  "IN-DL" -> 357,
  "IN-MH" -> 1171,
  "IN-AP" -> 249,
  "IN-LD" -> 2,
  "IN-DD" -> 4,
  "IN-CH" -> 15,
  "IN-MP" -> 139,
  "IN-PY" -> 65,
  "IN-TR" -> 14,
  "IN-OR" -> 83,
  "IN-UL" -> 1354,
  "IN-GA" -> 1396,
  "IN-BR" -> 217,
  "IN-ML" -> 53,
  "IN-GJ" -> 463,
  "IN-DN" -> 1,
  "IN-TN" -> 4127,
  "IN-JK" -> 227,
  "IN-KL" -> 11632,
...
In [26]:
val birdLocFreqs = read.lines(birdLocFreqF) map(_.split("\t")) map {case Array(b, l, n) => ((b, l), n.toInt)} toMap
birdLocFreqs: Map[(String, String), Int] = Map(
  ("Motacilla flava", "IN-BR") -> 2,
  ("Parulidae sp.", "IN-KL") -> 13,
  ("Ficedula hodgsoni", "IN-WB") -> 16,
  ("Mirafra erythroptera", "IN-BR") -> 8,
  ("Prunella immaculata", "IN-WB") -> 23,
  ("Lophura leucomelanos", "IN-NL") -> 29,
  ("Gallirallus striatus", "IN-GJ") -> 1,
  ("Bubulcus ibis", "IN-UP") -> 1552,
  ("Anthus cervinus", "IN-HR") -> 2,
  ("Anas querquedula/crecca", "IN-TN") -> 1,
  ("Mycteria leucocephala", "IN-AS") -> 12,
  ("Circus aeruginosus", "IN-BR") -> 6,
  ("Aegithalos concinnus", "IN-NL") -> 33,
  ("Oriolus sp.", "IN-UL") -> 11,
  ("Muscicapa sp.", "IN-ML") -> 4,
  ("Psittacula eupatria", "IN-OR") -> 73,
  ("Corvus sp. (crow sp.)", "IN-AR") -> 4,
  ("Dicaeum agile", "IN-JH") -> 4,
  ("Nyctyornis athertoni", "IN-MH") -> 5,
...
In [27]:
val places = locationFreqs.keys.toVector
places: Vector[String] = Vector(
  "IN-DL",
  "IN-MH",
  "IN-AP",
  "IN-LD",
  "IN-DD",
  "IN-CH",
  "IN-MP",
  "IN-PY",
  "IN-TR",
  "IN-OR",
  "IN-UL",
  "IN-GA",
  "IN-BR",
  "IN-ML",
  "IN-GJ",
  "IN-DN",
  "IN-TN",
  "IN-JK",
  "IN-KL",
...
In [28]:
def birdLocNum(bird: String, loc: String) = birdLocFreqs.getOrElse((bird, loc), 0).toDouble
defined function birdLocNum
In [29]:
def pairInLoc(x: String, y: String, loc: String) = birdLocNum(x, loc) * birdLocNum(y, loc) / locationFreqs(loc)
defined function pairInLoc
In [30]:
def seenSameLoc(x: String, y: String) = {places map (pairInLoc(x, y, _))}.sum
defined function seenSameLoc
In [31]:
def localCoOccurence(x: String, y: String) = bothSeen(x, y) / seenSameLoc(x, y)
defined function localCoOccurence
In [32]:
val byLocalCoOcc = {for{ (x, y) <- topPairs if seenSameLoc(x, y) > 0} yield 
                (x, y, localCoOccurence(x, y))} sortBy ((t) => -t._3)
byLocalCoOcc: Vector[(String, String, Double)] = Vector(
  ("Gracula indica", "Rhipidura albicollis", 465.3333333333333),
  ("Dendrocitta leucogastra", "Rhipidura albicollis", 465.3333333333333),
  ("Rhipidura albicollis", "Gracula indica", 465.3333333333333),
  ("Rhipidura albicollis", "Dendrocitta leucogastra", 465.3333333333333),
  ("Mirafra affinis", "Saxicola ferreus", 390.3333333333333),
  ("Saxicola ferreus", "Mirafra affinis", 390.3333333333333),
  ("Psilopogon malabaricus", "Saxicola ferreus", 292.75),
  ("Saxicola ferreus", "Psilopogon malabaricus", 292.75),
  ("Turdoides affinis", "Saxicola ferreus", 234.20000000000002),
  ("Saxicola ferreus", "Turdoides affinis", 234.20000000000002),
  ("Aerodramus unicolor", "Saxicola ferreus", 167.2857142857143),
  ("Saxicola ferreus", "Aerodramus unicolor", 167.2857142857143),
  ("Gracula indica", "Acridotheres ginginianus", 155.11111111111111),
  ("Acridotheres ginginianus", "Gracula indica", 155.11111111111111),
  ("Acridotheres ginginianus", "Dendrocitta leucogastra", 155.11111111111111),
  ("Dendrocitta leucogastra", "Acridotheres ginginianus", 155.11111111111111),
  ("Saxicola ferreus", "Rhopocichla atriceps", 117.10000000000001),
  ("Rhopocichla atriceps", "Saxicola ferreus", 117.10000000000001),
  ("Psilopogon asiaticus", "Galloperdix spadicea", 101.6),
...
In [33]:
show(byLocalCoOcc map {case (x, y, n) => (commonNames(x), commonNames(y), n)} take 1000)
Vector(
  ("Southern Hill Myna", "White-throated Fantail", 465.3333333333333),
  ("White-bellied Treepie", "White-throated Fantail", 465.3333333333333),
  ("White-throated Fantail", "Southern Hill Myna", 465.3333333333333),
  ("White-throated Fantail", "White-bellied Treepie", 465.3333333333333),
  ("Jerdon's Bushlark", "Gray Bushchat", 390.3333333333333),
  ("Gray Bushchat", "Jerdon's Bushlark", 390.3333333333333),
  ("Malabar Barbet", "Gray Bushchat", 292.75),
  ("Gray Bushchat", "Malabar Barbet", 292.75),
  ("Yellow-billed Babbler", "Gray Bushchat", 234.20000000000002),
  ("Gray Bushchat", "Yellow-billed Babbler", 234.20000000000002),
  ("Indian Swiftlet", "Gray Bushchat", 167.2857142857143),
  ("Gray Bushchat", "Indian Swiftlet", 167.2857142857143),
  ("Southern Hill Myna", "Bank Myna", 155.11111111111111),
  ("Bank Myna", "Southern Hill Myna", 155.11111111111111),
  ("Bank Myna", "White-bellied Treepie", 155.11111111111111),
  ("White-bellied Treepie", "Bank Myna", 155.11111111111111),
  ("Gray Bushchat", "Dark-fronted Babbler", 117.10000000000001),
  ("Dark-fronted Babbler", "Gray Bushchat", 117.10000000000001),
  ("Blue-throated Barbet", "Red Spurfowl", 101.6),
  ("Blue Whistling-Thrush", "Red Spurfowl", 101.6),
  ("Gray-hooded Warbler", "Red Spurfowl", 101.6),
  ("Red Spurfowl", "Blue-throated Barbet", 101.6),
  ("Red Spurfowl", "Blue Whistling-Thrush", 101.6),
  ("Red Spurfowl", "Gray-hooded Warbler", 101.6),
  ("Flame-throated Bulbul", "Gray Bushchat", 90.07692307692308),
  ("Gray Bushchat", "Flame-throated Bulbul", 90.07692307692308),
  ("Rufous Babbler", "Gray Bushchat", 83.64285714285715),
  ("Gray Bushchat", "Rufous Babbler", 83.64285714285715),
  ("Blue-faced Malkoha", "Gray Bushchat", 78.06666666666666),
  ("Gray Bushchat", "Blue-faced Malkoha", 78.06666666666666),
  ("Rufous Babbler", "White-throated Fantail", 63.45454545454545),
  ("White-throated Fantail", "Rufous Babbler", 63.45454545454545),
  ("Gray Bushchat", "Malabar Trogon", 50.91304347826087),
  ("Malabar Trogon", "Gray Bushchat", 50.91304347826087),
  ("Himalayan Bulbul", "Red Spurfowl", 50.8),
  ("Red Spurfowl", "Himalayan Bulbul", 50.8),
  ("Malabar Parakeet", "Gray Bushchat", 43.370370370370374),
  ("Gray Bushchat", "Malabar Parakeet", 43.370370370370374),
  ("Malabar Starling", "Gray Bushchat", 31.64864864864865),
  ("Gray Bushchat", "Malabar Starling", 31.64864864864865),
  ("Nilgiri Flowerpecker", "Gray Bushchat", 17.742424242424242),
  ("Gray Bushchat", "Nilgiri Flowerpecker", 17.742424242424242),
  ("Indian Swiftlet", "White-throated Fantail", 12.807339449541285),
  ("White-throated Fantail", "Indian Swiftlet", 12.807339449541285),
  ("Gray-fronted Green-Pigeon", "Gray Bushchat", 12.728260869565217),
  ("Gray Bushchat", "Gray-fronted Green-Pigeon", 12.728260869565217),
  ("Blue-faced Malkoha", "Black Bulbul", 10.652014652014653),
  ("Black Bulbul", "Blue-faced Malkoha", 10.652014652014653),
  ("White-throated Fantail", "Malabar Woodshrike", 10.18978102189781),
  ("Malabar Woodshrike", "White-throated Fantail", 10.18978102189781),
  ("Malabar Gray Hornbill", "Gray Bushchat", 10.094827586206897),
  ("Gray Bushchat", "Malabar Gray Hornbill", 10.094827586206897),
  ("Yellow-browed Bulbul", "Gray Bushchat", 7.228395061728395),
  ("Gray Bushchat", "Yellow-browed Bulbul", 7.228395061728395),
  ("Jerdon's Bushlark", "Black Bulbul", 6.384193194291988),
  ("Black Bulbul", "Jerdon's Bushlark", 6.384193194291988),
  ("Malabar Barbet", "White-throated Fantail", 6.345454545454546),
  ("White-throated Fantail", "Malabar Barbet", 6.345454545454546),
  ("Orange Minivet", "Gray Bushchat", 5.944162436548224),
  ("Gray Bushchat", "Orange Minivet", 5.944162436548224),
  ("Dark-fronted Babbler", "Black Bulbul", 5.5602294455066925),
  ("Black Bulbul", "Dark-fronted Babbler", 5.5602294455066925),
  ("Malabar Parakeet", "White-throated Fantail", 5.057971014492754),
  ("White-throated Fantail", "Malabar Parakeet", 5.057971014492754),
  ("Red Spurfowl", "Black Bulbul", 4.916314454775993),
  ("Black Bulbul", "Red Spurfowl", 4.916314454775993),
  ("Rufous Babbler", "Black Bulbul", 4.883291351805206),
  ("Black Bulbul", "Rufous Babbler", 4.883291351805206),
  ("Malabar Starling", "White-throated Fantail", 4.417721518987342),
  ("White-throated Fantail", "Malabar Starling", 4.417721518987342),
  ("Dark-fronted Babbler", "White-throated Fantail", 4.308641975308642),
  ("White-throated Fantail", "Dark-fronted Babbler", 4.308641975308642),
  ("Black Bulbul", "Malabar Woodshrike", 4.136557610241821),
  ("Malabar Woodshrike", "Black Bulbul", 4.136557610241821),
  ("Gray-fronted Green-Pigeon", "Black Bulbul", 4.124822695035461),
  ("Black Bulbul", "Gray-fronted Green-Pigeon", 4.124822695035461),
  ("Indian Scimitar-Babbler", "Black Bulbul", 4.008270158511372),
  ("Black Bulbul", "Indian Scimitar-Babbler", 4.008270158511372),
  ("Black Bulbul", "Malabar Trogon", 3.9457259158751694),
  ("Malabar Trogon", "Black Bulbul", 3.9457259158751694),
  ("Crimson-backed Sunbird", "Gray Bushchat", 3.753205128205128),
  ("Gray Bushchat", "Crimson-backed Sunbird", 3.753205128205128),
  ("Bank Myna", "Malabar Woodshrike", 3.3965936739659366),
  ("Malabar Woodshrike", "Bank Myna", 3.3965936739659366),
  ("White-browed Bulbul", "Black Bulbul", 3.298922291548497),
  ("Black Bulbul", "White-browed Bulbul", 3.298922291548497),
  ("Malabar Whistling-Thrush", "Gray Bushchat", 3.208472137351915),
  ("Gray Bushchat", "Malabar Whistling-Thrush", 3.208472137351915),
  ("Indian Swiftlet", "Black Bulbul", 3.2044077134986226),
  ("Black Bulbul", "Indian Swiftlet", 3.2044077134986226),
  ("Malabar Barbet", "Black Bulbul", 3.1973611874656407),
  ("Black Bulbul", "Malabar Barbet", 3.1973611874656407),
  ("Malabar Starling", "Black Bulbul", 3.0244409776391055),
  ("Black Bulbul", "Malabar Starling", 3.0244409776391055),
  ("Flame-throated Bulbul", "White-throated Fantail", 2.9327731092436977),
  ("White-throated Fantail", "Flame-throated Bulbul", 2.9327731092436977),
  ("Black Bulbul", "White-bellied Treepie", 2.850980392156863),
  ("White-bellied Treepie", "Black Bulbul", 2.850980392156863),
  ("Flame-throated Bulbul", "Black Bulbul", 2.7279549718574105),
  ("Black Bulbul", "Flame-throated Bulbul", 2.7279549718574105),
  ("Himalayan Bulbul", "Brown-cheeked Fulvetta", 2.5069290465631933),
  ("Brown-cheeked Fulvetta", "Himalayan Bulbul", 2.5069290465631933),
  ("Crimson-backed Sunbird", "Black Bulbul", 2.275430359937402),
  ("Black Bulbul", "Crimson-backed Sunbird", 2.275430359937402),
  ("Nilgiri Flowerpecker", "Black Bulbul", 2.2656797818465133),
  ("Black Bulbul", "Nilgiri Flowerpecker", 2.2656797818465133),
  ("White-cheeked Barbet", "Gray Bushchat", 2.251923076923077),
  ("Gray Bushchat", "White-cheeked Barbet", 2.251923076923077),
  ("White-browed Bulbul", "Gray Bushchat", 2.166930706250416),
  ("Gray Bushchat", "White-browed Bulbul", 2.166930706250416),
  ("Yellow-browed Bulbul", "White-throated Fantail", 2.144671084292748),
  ("White-throated Fantail", "Yellow-browed Bulbul", 2.144671084292748),
  ("Malabar Whistling-Thrush", "Black Bulbul", 2.111837327523602),
  ("Black Bulbul", "Malabar Whistling-Thrush", 2.111837327523602),
  ("Orange Minivet", "White-throated Fantail", 2.0507525953752825),
  ("White-throated Fantail", "Orange Minivet", 2.0507525953752825),
  ("Gray Junglefowl", "Black Bulbul", 1.9536446086664427),
  ("Black Bulbul", "Gray Junglefowl", 1.9536446086664427),
  ("Gray-fronted Green-Pigeon", "White-throated Fantail", 1.833402779609167),
  ("White-throated Fantail", "Gray-fronted Green-Pigeon", 1.833402779609167),
  ("Crimson-backed Sunbird", "White-throated Fantail", 1.8152375388970645),
  ("White-throated Fantail", "Crimson-backed Sunbird", 1.8152375388970645),
  ("Malabar Gray Hornbill", "Black Bulbul", 1.7796817625458998),
  ("Black Bulbul", "Malabar Gray Hornbill", 1.7796817625458998),
  ("Indian Chat", "Malabar Woodshrike", 1.76867816091954),
  ("Malabar Woodshrike", "Indian Chat", 1.76867816091954),
  ("Malabar Gray Hornbill", "White-throated Fantail", 1.698203133415833),
  ("White-throated Fantail", "Malabar Gray Hornbill", 1.698203133415833),
  ("Malabar Parakeet", "Black Bulbul", 1.6926658905704308),
  ("Black Bulbul", "Malabar Parakeet", 1.6926658905704308),
  ("Nilgiri Flowerpecker", "White-throated Fantail", 1.434737923946557),
  ("White-throated Fantail", "Nilgiri Flowerpecker", 1.434737923946557),
  ("Southern Hill Myna", "Black Bulbul", 1.3860819828408009),
  ("Black Bulbul", "Southern Hill Myna", 1.3860819828408009),
  ("Yellow-browed Bulbul", "Black Bulbul", 1.3360900528371238),
  ("Black Bulbul", "Yellow-browed Bulbul", 1.3360900528371238),
  ("Orange Minivet", "Black Bulbul", 1.3173272933182334),
  ("Black Bulbul", "Orange Minivet", 1.3173272933182334),
  ("Malabar Barbet", "Bank Myna", 1.0011758970502134),
  ("Bank Myna", "Malabar Barbet", 1.0011758970502134),
  ("Gray Junglefowl", "Gray Bushchat", 0.9856692884821101),
  ("Gray Bushchat", "Gray Junglefowl", 0.9856692884821101),
  ("Indian Chat", "White-bellied Treepie", 0.9325757575757576),
  ("White-bellied Treepie", "Indian Chat", 0.9325757575757576),
  ("Malabar Whistling-Thrush", "White-throated Fantail", 0.9201336342161822),
  ("White-throated Fantail", "Malabar Whistling-Thrush", 0.9201336342161822),
  ("Gray-hooded Warbler", "Rufous-tailed Lark", 0.8890711275342966),
  ("Rufous-tailed Lark", "Gray-hooded Warbler", 0.8890711275342966),
  ("Indian Swiftlet", "Bank Myna", 0.8659347761024045),
  ("Bank Myna", "Indian Swiftlet", 0.8659347761024045),
  ("Indian Scimitar-Babbler", "Gray Bushchat", 0.8355025135427547),
  ("Gray Bushchat", "Indian Scimitar-Babbler", 0.8355025135427547),
  ("Black Bulbul", "Rufous-tailed Lark", 0.833731114495112),
  ("Rufous-tailed Lark", "Black Bulbul", 0.833731114495112),
  ("Yellow-billed Babbler", "Black Bulbul", 0.7546386401972234),
  ("Black Bulbul", "Yellow-billed Babbler", 0.7546386401972234),
  ("Great Barbet", "Rufous-tailed Lark", 0.6878023474482848),
  ("Rufous-tailed Lark", "Great Barbet", 0.6878023474482848),
  ("Gray Bushchat", "Red Spurfowl", 0.6318027964609924),
  ("Red Spurfowl", "Gray Bushchat", 0.6318027964609924),
  ("White-bellied Treepie", "Gadwall", 0.5741461498014875),
  ("Gadwall", "White-bellied Treepie", 0.5741461498014875),
  ("Lesser Yellownape", "Malabar Woodshrike", 0.561269122759307),
  ("Malabar Woodshrike", "Lesser Yellownape", 0.561269122759307),
  ("Jerdon's Leafbird", "Gray-hooded Warbler", 0.5580952380952381),
  ("Gray-hooded Warbler", "Jerdon's Leafbird", 0.5580952380952381),
  ("Jerdon's Leafbird", "Himalayan Bulbul", 0.5476635514018692),
  ("Himalayan Bulbul", "Jerdon's Leafbird", 0.5476635514018692),
  ("White-throated Fantail", "Malabar Trogon", 0.5400129737247704),
  ("Malabar Trogon", "White-throated Fantail", 0.5400129737247704),
  ("Velvet-fronted Nuthatch", "Malabar Woodshrike", 0.5326832552271966),
  ("Malabar Woodshrike", "Velvet-fronted Nuthatch", 0.5326832552271966),
  ("Rufous Babbler", "Bank Myna", 0.5295377935396179),
  ("Bank Myna", "Rufous Babbler", 0.5295377935396179),
  ("Dark-fronted Babbler", "Malabar Trogon", 0.5285913737481267),
  ("Malabar Trogon", "Dark-fronted Babbler", 0.5285913737481267),
  ("Brown-cheeked Fulvetta", "Malabar Trogon", 0.5262494804624411),
  ("Malabar Trogon", "Brown-cheeked Fulvetta", 0.5262494804624411),
  ("Malabar Trogon", "Malabar Woodshrike", 0.5178773013272486),
  ("Malabar Woodshrike", "Malabar Trogon", 0.5178773013272486),
  ("Bar-winged Flycatcher-shrike", "Malabar Woodshrike", 0.5145101602160176),
  ("Malabar Woodshrike", "Bar-winged Flycatcher-shrike", 0.5145101602160176),
  ("Flame-throated Bulbul", "Dark-fronted Babbler", 0.5081569673916562),
  ("Dark-fronted Babbler", "Flame-throated Bulbul", 0.5081569673916562),
  ("Greater Flameback", "Malabar Woodshrike", 0.5059821784557672),
  ("Malabar Woodshrike", "Greater Flameback", 0.5059821784557672),
  ("Blue Whistling-Thrush", "Rufous-tailed Lark", 0.5055043247908205),
  ("Rufous-tailed Lark", "Blue Whistling-Thrush", 0.5055043247908205),
  ("Bank Myna", "Dark-fronted Babbler", 0.49716853626402496),
  ("Dark-fronted Babbler", "Bank Myna", 0.49716853626402496),
  ("Asian Fairy-bluebird", "Malabar Trogon", 0.49644124123779976),
  ("Malabar Trogon", "Asian Fairy-bluebird", 0.49644124123779976),
  ("Asian Fairy-bluebird", "Malabar Woodshrike", 0.49452674973224764),
  ("Malabar Woodshrike", "Asian Fairy-bluebird", 0.49452674973224764),
  ("Hair-crested Drongo", "Malabar Woodshrike", 0.492764887909344),
  ("Malabar Woodshrike", "Hair-crested Drongo", 0.492764887909344),
  ("Brown-cheeked Fulvetta", "Dark-fronted Babbler", 0.4899966158682786),
  ("Dark-fronted Babbler", "Brown-cheeked Fulvetta", 0.4899966158682786),
  ("Malabar Trogon", "Lesser Yellownape", 0.48350998443475657),
  ("Lesser Yellownape", "Malabar Trogon", 0.48350998443475657),
  ("Little Spiderhunter", "Malabar Trogon", 0.4795615421156642),
  ("Malabar Trogon", "Little Spiderhunter", 0.4795615421156642),
  ("Gray Bushchat", "Spot-breasted Fantail", 0.4747419303940036),
  ("Spot-breasted Fantail", "Gray Bushchat", 0.4747419303940036),
  ("Dark-fronted Babbler", "Malabar Woodshrike", 0.46714984458563824),
  ("Malabar Woodshrike", "Dark-fronted Babbler", 0.46714984458563824),
  ("Asian Pied Starling", "Malabar Woodshrike", 0.4634169368384546),
  ("Malabar Woodshrike", "Asian Pied Starling", 0.4634169368384546),
  ("Greater Flameback", "Malabar Trogon", 0.46216570232035925),
  ("Malabar Trogon", "Greater Flameback", 0.46216570232035925),
  ("White-rumped Shama", "Malabar Woodshrike", 0.4570392665657888),
  ("Malabar Woodshrike", "White-rumped Shama", 0.4570392665657888),
  ("White-bellied Treepie", "Malabar Trogon", 0.45594442044539585),
  ("Malabar Trogon", "White-bellied Treepie", 0.45594442044539585),
  ("Little Spiderhunter", "Dark-fronted Babbler", 0.45305400768024345),
  ("Dark-fronted Babbler", "Little Spiderhunter", 0.45305400768024345),
  ("Bar-winged Flycatcher-shrike", "Malabar Trogon", 0.45290208827611056),
  ("Malabar Trogon", "Bar-winged Flycatcher-shrike", 0.45290208827611056),
  ("Himalayan Bulbul", "Little Spiderhunter", 0.4518336345347291),
  ("Little Spiderhunter", "Himalayan Bulbul", 0.4518336345347291),
  ("Malabar Barbet", "Malabar Woodshrike", 0.4493799673719994),
  ("Malabar Woodshrike", "Malabar Barbet", 0.4493799673719994),
  ("Brown-cheeked Fulvetta", "White-bellied Treepie", 0.44841483642699653),
  ("White-bellied Treepie", "Brown-cheeked Fulvetta", 0.44841483642699653),
  ("Hair-crested Drongo", "Malabar Trogon", 0.44518315403328534),
  ("Malabar Trogon", "Hair-crested Drongo", 0.44518315403328534),
  ("Bar-winged Flycatcher-shrike", "Dark-fronted Babbler", 0.4446361163517828),
  ("Dark-fronted Babbler", "Bar-winged Flycatcher-shrike", 0.4446361163517828),
  ("Flame-throated Bulbul", "Malabar Woodshrike", 0.44382592211147015),
  ("Malabar Woodshrike", "Flame-throated Bulbul", 0.44382592211147015),
  ("Verditer Flycatcher", "Malabar Woodshrike", 0.4434693900641294),
  ("Malabar Woodshrike", "Verditer Flycatcher", 0.4434693900641294),
  ("Gray-headed Canary-Flycatcher", "Dark-fronted Babbler", 0.4400974075185609),
  ("Dark-fronted Babbler", "Gray-headed Canary-Flycatcher", 0.4400974075185609),
  ("Flame-throated Bulbul", "Malabar Trogon", 0.4395980293683644),
  ("Malabar Trogon", "Flame-throated Bulbul", 0.4395980293683644),
  ("Crimson-backed Sunbird", "Little Spiderhunter", 0.43864865962073263),
  ("Little Spiderhunter", "Crimson-backed Sunbird", 0.43864865962073263),
  ("Velvet-fronted Nuthatch", "Malabar Trogon", 0.43464421549467813),
  ("Malabar Trogon", "Velvet-fronted Nuthatch", 0.43464421549467813),
  ("Asian Fairy-bluebird", "Flame-throated Bulbul", 0.4345474496921082),
  ("Flame-throated Bulbul", "Asian Fairy-bluebird", 0.4345474496921082),
  ("Crimson-backed Sunbird", "Malabar Woodshrike", 0.4341108885154698),
  ("Malabar Woodshrike", "Crimson-backed Sunbird", 0.4341108885154698),
  ("Dark-fronted Babbler", "White-bellied Treepie", 0.4340118953747289),
  ("White-bellied Treepie", "Dark-fronted Babbler", 0.4340118953747289),
  ("Malabar Barbet", "Malabar Trogon", 0.4337384987029426),
  ("Malabar Trogon", "Malabar Barbet", 0.4337384987029426),
  ("Gray-fronted Green-Pigeon", "Malabar Woodshrike", 0.43276409869948096),
  ("Malabar Woodshrike", "Gray-fronted Green-Pigeon", 0.43276409869948096),
  ("Asian Pied Starling", "White-bellied Treepie", 0.4324068637823183),
  ("White-bellied Treepie", "Asian Pied Starling", 0.4324068637823183),
  ("White-bellied Treepie", "Malabar Woodshrike", 0.43162502020673427),
  ("Malabar Woodshrike", "White-bellied Treepie", 0.43162502020673427),
  ("Flame-throated Bulbul", "Little Spiderhunter", 0.43108941196167866),
  ("Little Spiderhunter", "Flame-throated Bulbul", 0.43108941196167866),
  ("Asian Fairy-bluebird", "Dark-fronted Babbler", 0.42952989647504647),
  ("Dark-fronted Babbler", "Asian Fairy-bluebird", 0.42952989647504647),
  ("Black-naped Monarch", "Dark-fronted Babbler", 0.42825369780800526),
  ("Dark-fronted Babbler", "Black-naped Monarch", 0.42825369780800526),
  ("Dark-fronted Babbler", "Lesser Yellownape", 0.42560602774633044),
  ("Lesser Yellownape", "Dark-fronted Babbler", 0.42560602774633044),
  ("Brown-cheeked Fulvetta", "Malabar Woodshrike", 0.4242582010317256),
  ("Malabar Woodshrike", "Brown-cheeked Fulvetta", 0.4242582010317256),
  ("Gray-fronted Green-Pigeon", "Malabar Trogon", 0.42316976685369423),
  ("Malabar Trogon", "Gray-fronted Green-Pigeon", 0.42316976685369423),
  ("Asian Fairy-bluebird", "White-bellied Treepie", 0.4168046396624693),
  ("White-bellied Treepie", "Asian Fairy-bluebird", 0.4168046396624693),
  ("Crimson-backed Sunbird", "Malabar Trogon", 0.4156672077461012),
  ("Malabar Trogon", "Crimson-backed Sunbird", 0.4156672077461012),
  ("Crimson-backed Sunbird", "Brown-cheeked Fulvetta", 0.415263208575246),
  ("Brown-cheeked Fulvetta", "Crimson-backed Sunbird", 0.415263208575246),
  ("Malabar Barbet", "Gray-fronted Green-Pigeon", 0.40999093300325185),
  ("Gray-fronted Green-Pigeon", "Malabar Barbet", 0.40999093300325185),
  ("Greater Flameback", "Dark-fronted Babbler", 0.40874172029093797),
  ("Dark-fronted Babbler", "Greater Flameback", 0.40874172029093797),
  ("Asian Fairy-bluebird", "Brown-cheeked Fulvetta", 0.40831310713695784),
  ("Brown-cheeked Fulvetta", "Asian Fairy-bluebird", 0.40831310713695784),
  ("Flame-throated Bulbul", "Lesser Yellownape", 0.40672317681063136),
  ("Lesser Yellownape", "Flame-throated Bulbul", 0.40672317681063136),
  ("Brown-cheeked Fulvetta", "Bar-winged Flycatcher-shrike", 0.4061318377546678),
  ("Bar-winged Flycatcher-shrike", "Brown-cheeked Fulvetta", 0.4061318377546678),
  ("Black Redstart", "Malabar Woodshrike", 0.4058424530215304),
  ("Malabar Woodshrike", "Black Redstart", 0.4058424530215304),
  ("Gray-fronted Green-Pigeon", "White-bellied Treepie", 0.4039966321870046),
  ("White-bellied Treepie", "Gray-fronted Green-Pigeon", 0.4039966321870046),
  ("Crimson-backed Sunbird", "Asian Fairy-bluebird", 0.40356113946422006),
  ("Asian Fairy-bluebird", "Crimson-backed Sunbird", 0.40356113946422006),
  ("Malabar Barbet", "Dark-fronted Babbler", 0.40111222933296087),
  ("Dark-fronted Babbler", "Malabar Barbet", 0.40111222933296087),
  ("Yellow-browed Bulbul", "Dark-fronted Babbler", 0.40003154924431944),
  ("Dark-fronted Babbler", "Yellow-browed Bulbul", 0.40003154924431944),
  ("Velvet-fronted Nuthatch", "Brown-cheeked Fulvetta", 0.39994171920408433),
  ("Brown-cheeked Fulvetta", "Velvet-fronted Nuthatch", 0.39994171920408433),
  ("Indian Scimitar-Babbler", "Dark-fronted Babbler", 0.39902086400171466),
  ("Dark-fronted Babbler", "Indian Scimitar-Babbler", 0.39902086400171466),
  ("Little Spiderhunter", "Malabar Woodshrike", 0.3985812231621729),
  ("Malabar Woodshrike", "Little Spiderhunter", 0.3985812231621729),
  ("Vernal Hanging-Parrot", "Himalayan Bulbul", 0.3973838374432699),
  ("Himalayan Bulbul", "Vernal Hanging-Parrot", 0.3973838374432699),
  ("Crimson-backed Sunbird", "Dark-fronted Babbler", 0.3956856380252293),
  ("Dark-fronted Babbler", "Crimson-backed Sunbird", 0.3956856380252293),
  ("Taiga Flycatcher", "Malabar Woodshrike", 0.3939499238891294),
  ("Malabar Woodshrike", "Taiga Flycatcher", 0.3939499238891294),
  ("Asian Fairy-bluebird", "Gray-fronted Green-Pigeon", 0.3893103685302603),
  ("Gray-fronted Green-Pigeon", "Asian Fairy-bluebird", 0.3893103685302603),
  ("Little Spiderhunter", "White-bellied Treepie", 0.38918491796721416),
  ("White-bellied Treepie", "Little Spiderhunter", 0.38918491796721416),
  ("Velvet-fronted Nuthatch", "Dark-fronted Babbler", 0.3886885184805284),
  ("Dark-fronted Babbler", "Velvet-fronted Nuthatch", 0.3886885184805284),
  ("Indian Swiftlet", "Hair-crested Drongo", 0.3848187154629367),
  ("Hair-crested Drongo", "Indian Swiftlet", 0.3848187154629367),
  ("Malabar Barbet", "Little Spiderhunter", 0.3831093923234345),
  ("Little Spiderhunter", "Malabar Barbet", 0.3831093923234345),
  ("Malabar Gray Hornbill", "Malabar Trogon", 0.3825340755839593),
  ("Malabar Trogon", "Malabar Gray Hornbill", 0.3825340755839593),
  ("Asian Emerald Dove", "Dark-fronted Babbler", 0.38237489788964096),
  ("Dark-fronted Babbler", "Asian Emerald Dove", 0.38237489788964096),
  ("Asian Fairy-bluebird", "Malabar Barbet", 0.3813993537385719),
  ("Malabar Barbet", "Asian Fairy-bluebird", 0.3813993537385719),
  ("Rufous Babbler", "Dark-fronted Babbler", 0.3813863783957963),
  ("Dark-fronted Babbler", "Rufous Babbler", 0.3813863783957963),
  ("Flame-throated Bulbul", "Bar-winged Flycatcher-shrike", 0.3808771034321373),
  ("Bar-winged Flycatcher-shrike", "Flame-throated Bulbul", 0.3808771034321373),
  ("Yellow-browed Bulbul", "Brown-cheeked Fulvetta", 0.38028288622443185),
  ("Brown-cheeked Fulvetta", "Yellow-browed Bulbul", 0.38028288622443185),
  ("Malabar Barbet", "Flame-throated Bulbul", 0.37994960324622895),
  ("Flame-throated Bulbul", "Malabar Barbet", 0.37994960324622895),
  ("Asian Fairy-bluebird", "Little Spiderhunter", 0.3785926929655525),
  ("Little Spiderhunter", "Asian Fairy-bluebird", 0.3785926929655525),
  ("Malabar Barbet", "Brown-cheeked Fulvetta", 0.3770611683828234),
  ("Brown-cheeked Fulvetta", "Malabar Barbet", 0.3770611683828234),
  ("Malabar Gray Hornbill", "Malabar Woodshrike", 0.37693786197358864),
  ("Malabar Woodshrike", "Malabar Gray Hornbill", 0.37693786197358864),
  ("Malabar Parakeet", "Malabar Woodshrike", 0.3763013045956772),
  ("Malabar Woodshrike", "Malabar Parakeet", 0.3763013045956772),
  ("Greater Flameback", "Gray-fronted Green-Pigeon", 0.37451635332733874),
  ("Gray-fronted Green-Pigeon", "Greater Flameback", 0.37451635332733874),
  ("Greater Flameback", "Brown-cheeked Fulvetta", 0.37438554062233964),
  ("Brown-cheeked Fulvetta", "Greater Flameback", 0.37438554062233964),
  ("Crimson-backed Sunbird", "Bar-winged Flycatcher-shrike", 0.3738650933372026),
  ("Bar-winged Flycatcher-shrike", "Crimson-backed Sunbird", 0.3738650933372026),
  ("Crimson-backed Sunbird", "Velvet-fronted Nuthatch", 0.37360219162933933),
  ("Velvet-fronted Nuthatch", "Crimson-backed Sunbird", 0.37360219162933933),
  ("Orange Minivet", "Malabar Woodshrike", 0.3733987113852461),
  ("Malabar Woodshrike", "Orange Minivet", 0.3733987113852461),
  ("White-bellied Treepie", "Lesser Yellownape", 0.37275041126846925),
  ("Lesser Yellownape", "White-bellied Treepie", 0.37275041126846925),
  ("Yellow-browed Bulbul", "Flame-throated Bulbul", 0.3723450266027027),
  ("Flame-throated Bulbul", "Yellow-browed Bulbul", 0.3723450266027027),
  ("Flame-throated Bulbul", "Brown-cheeked Fulvetta", 0.3719856056534138),
  ("Brown-cheeked Fulvetta", "Flame-throated Bulbul", 0.3719856056534138),
  ("Gray-fronted Green-Pigeon", "Lesser Yellownape", 0.37184091912714357),
  ("Lesser Yellownape", "Gray-fronted Green-Pigeon", 0.37184091912714357),
  ("Brown-capped Woodpecker", "Malabar Woodshrike", 0.37140937720702477),
  ("Malabar Woodshrike", "Brown-capped Woodpecker", 0.37140937720702477),
  ("Asian Fairy-bluebird", "Bar-winged Flycatcher-shrike", 0.37116825791097935),
  ("Bar-winged Flycatcher-shrike", "Asian Fairy-bluebird", 0.37116825791097935),
  ("Indian Swiftlet", "Indian Chat", 0.37060105974090085),
  ("Indian Chat", "Indian Swiftlet", 0.37060105974090085),
  ("Malabar Parakeet", "White-bellied Treepie", 0.37035561414218365),
  ("White-bellied Treepie", "Malabar Parakeet", 0.37035561414218365),
  ("Gray-fronted Green-Pigeon", "Dark-fronted Babbler", 0.37026400821066785),
  ("Dark-fronted Babbler", "Gray-fronted Green-Pigeon", 0.37026400821066785),
  ("Asian Emerald Dove", "Malabar Trogon", 0.370167577121738),
  ("Malabar Trogon", "Asian Emerald Dove", 0.370167577121738),
  ("Black-naped Monarch", "Flame-throated Bulbul", 0.36974270412054094),
  ("Flame-throated Bulbul", "Black-naped Monarch", 0.36974270412054094),
  ("Black-naped Monarch", "Malabar Trogon", 0.3696938591073924),
  ("Malabar Trogon", "Black-naped Monarch", 0.3696938591073924),
  ("Malabar Gray Hornbill", "Asian Fairy-bluebird", 0.3689828473987903),
  ("Asian Fairy-bluebird", "Malabar Gray Hornbill", 0.3689828473987903),
  ("Dark-fronted Babbler", "White-rumped Shama", 0.36791843410916936),
  ("White-rumped Shama", "Dark-fronted Babbler", 0.36791843410916936),
  ("Malabar Gray Hornbill", "White-bellied Treepie", 0.36762079098976036),
  ("White-bellied Treepie", "Malabar Gray Hornbill", 0.36762079098976036),
  ("White-rumped Shama", "Malabar Trogon", 0.3667286390950609),
  ("Malabar Trogon", "White-rumped Shama", 0.3667286390950609),
  ("Flame-throated Bulbul", "Bank Myna", 0.36595552252304686),
  ("Bank Myna", "Flame-throated Bulbul", 0.36595552252304686),
  ("Asian Fairy-bluebird", "Velvet-fronted Nuthatch", 0.36576939181537627),
  ("Velvet-fronted Nuthatch", "Asian Fairy-bluebird", 0.36576939181537627),
  ("Greater Flameback", "White-bellied Treepie", 0.3653586027908513),
  ("White-bellied Treepie", "Greater Flameback", 0.3653586027908513),
  ("Black-naped Monarch", "Malabar Woodshrike", 0.3640023950407612),
  ("Malabar Woodshrike", "Black-naped Monarch", 0.3640023950407612),
  ("Malabar Whistling-Thrush", "Malabar Trogon", 0.36349382145341447),
  ("Malabar Trogon", "Malabar Whistling-Thrush", 0.36349382145341447),
  ("Orange Minivet", "Velvet-fronted Nuthatch", 0.36306181992034897),
  ("Velvet-fronted Nuthatch", "Orange Minivet", 0.36306181992034897),
  ("Asian Fairy-bluebird", "Greater Flameback", 0.3625584994882537),
  ("Greater Flameback", "Asian Fairy-bluebird", 0.3625584994882537),
  ("Malabar Parakeet", "Malabar Trogon", 0.3621641676768411),
  ("Malabar Trogon", "Malabar Parakeet", 0.3621641676768411),
  ("Malabar Starling", "Malabar Woodshrike", 0.36171389659100756),
  ("Malabar Woodshrike", "Malabar Starling", 0.36171389659100756),
  ("Flame-throated Bulbul", "White-bellied Treepie", 0.3614201142989932),
  ("White-bellied Treepie", "Flame-throated Bulbul", 0.3614201142989932),
  ("Crimson-backed Sunbird", "Flame-throated Bulbul", 0.3609529970801965),
  ("Flame-throated Bulbul", "Crimson-backed Sunbird", 0.3609529970801965),
  ("Yellow-browed Bulbul", "Malabar Woodshrike", 0.3604522524559333),
  ("Malabar Woodshrike", "Yellow-browed Bulbul", 0.3604522524559333),
  ("Crimson-backed Sunbird", "Malabar Barbet", 0.3603679788530534),
  ("Malabar Barbet", "Crimson-backed Sunbird", 0.3603679788530534),
  ("Yellow-browed Bulbul", "Malabar Trogon", 0.36009288932871186),
  ("Malabar Trogon", "Yellow-browed Bulbul", 0.36009288932871186),
  ("Black Redstart", "White-bellied Treepie", 0.35951580693196133),
  ("White-bellied Treepie", "Black Redstart", 0.35951580693196133),
  ("Greater Flameback", "Flame-throated Bulbul", 0.3589825633782794),
  ("Flame-throated Bulbul", "Greater Flameback", 0.3589825633782794),
  ("Flame-throated Bulbul", "Gray-fronted Green-Pigeon", 0.3582004048385932),
  ("Gray-fronted Green-Pigeon", "Flame-throated Bulbul", 0.3582004048385932),
  ("Yellow-browed Bulbul", "Asian Fairy-bluebird", 0.356767510290212),
  ("Asian Fairy-bluebird", "Yellow-browed Bulbul", 0.356767510290212),
  ("Orange Minivet", "Bar-winged Flycatcher-shrike", 0.3556771350657129),
  ("Bar-winged Flycatcher-shrike", "Orange Minivet", 0.3556771350657129),
  ("Malabar Whistling-Thrush", "Dark-fronted Babbler", 0.3550175200430986),
  ("Dark-fronted Babbler", "Malabar Whistling-Thrush", 0.3550175200430986),
  ("Asian Fairy-bluebird", "Lesser Yellownape", 0.35353711066845417),
  ("Lesser Yellownape", "Asian Fairy-bluebird", 0.35353711066845417),
  ("Yellow-browed Bulbul", "Little Spiderhunter", 0.3501052743853169),
  ("Little Spiderhunter", "Yellow-browed Bulbul", 0.3501052743853169),
  ("Little Spiderhunter", "Brown-cheeked Fulvetta", 0.34777936400026516),
  ("Brown-cheeked Fulvetta", "Little Spiderhunter", 0.34777936400026516),
  ("Malabar Woodshrike", "Thick-billed Flowerpecker", 0.3472992691294105),
  ("Thick-billed Flowerpecker", "Malabar Woodshrike", 0.3472992691294105),
  ("Asian Brown Flycatcher", "Malabar Woodshrike", 0.34644342469756273),
  ("Malabar Woodshrike", "Asian Brown Flycatcher", 0.34644342469756273),
  ("Velvet-fronted Nuthatch", "Malabar Barbet", 0.3461186580922877),
  ("Malabar Barbet", "Velvet-fronted Nuthatch", 0.3461186580922877),
  ("Velvet-fronted Nuthatch", "Little Spiderhunter", 0.3457678594466572),
  ("Little Spiderhunter", "Velvet-fronted Nuthatch", 0.3457678594466572),
  ("Bar-winged Flycatcher-shrike", "White-bellied Treepie", 0.34567874357343115),
  ("White-bellied Treepie", "Bar-winged Flycatcher-shrike", 0.34567874357343115),
  ("Malabar Gray Hornbill", "Malabar Barbet", 0.3452266689675834),
  ("Malabar Barbet", "Malabar Gray Hornbill", 0.3452266689675834),
  ("Little Spiderhunter", "Lesser Yellownape", 0.34472890658046806),
  ("Lesser Yellownape", "Little Spiderhunter", 0.34472890658046806),
  ("Kentish Plover", "Lesser Sand-Plover", 0.3437574946124402),
  ("Lesser Sand-Plover", "Kentish Plover", 0.3437574946124402),
  ("Asian Emerald Dove", "Malabar Woodshrike", 0.3435024968995406),
  ("Malabar Woodshrike", "Asian Emerald Dove", 0.3435024968995406),
  (
    "Crimson-backed Sunbird",
    "Gray-headed Canary-Flycatcher",
    0.34327402645851807
  ),
  (
    "Gray-headed Canary-Flycatcher",
    "Crimson-backed Sunbird",
    0.34327402645851807
  ),
  ("Malabar Gray Hornbill", "Dark-fronted Babbler", 0.3428503203452275),
  ("Dark-fronted Babbler", "Malabar Gray Hornbill", 0.3428503203452275),
  ("Velvet-fronted Nuthatch", "White-bellied Treepie", 0.3428403380172432),
  ("White-bellied Treepie", "Velvet-fronted Nuthatch", 0.3428403380172432),
  ("Crimson-backed Sunbird", "White-bellied Treepie", 0.34205357110067175),
  ("White-bellied Treepie", "Crimson-backed Sunbird", 0.34205357110067175),
  ("Greater Flameback", "Little Spiderhunter", 0.3410022469667288),
  ("Little Spiderhunter", "Greater Flameback", 0.3410022469667288),
  ("Malabar Parakeet", "Asian Fairy-bluebird", 0.340746933310053),
  ("Asian Fairy-bluebird", "Malabar Parakeet", 0.340746933310053),
  ("Southern Hill Myna", "Asian Fairy-bluebird", 0.34009367945796937),
  ("Asian Fairy-bluebird", "Southern Hill Myna", 0.34009367945796937),
  ("Southern Hill Myna", "Malabar Woodshrike", 0.3397624067102983),
  ("Malabar Woodshrike", "Southern Hill Myna", 0.3397624067102983),
  ("Asian Emerald Dove", "Flame-throated Bulbul", 0.33858271981944493),
  ("Flame-throated Bulbul", "Asian Emerald Dove", 0.33858271981944493),
  ("Yellow-browed Bulbul", "Crimson-backed Sunbird", 0.33786151921319313),
  ("Crimson-backed Sunbird", "Yellow-browed Bulbul", 0.33786151921319313),
  ("Crimson-backed Sunbird", "Greater Flameback", 0.33776369605536705),
  ("Greater Flameback", "Crimson-backed Sunbird", 0.33776369605536705),
  ("Flame-throated Bulbul", "White-rumped Shama", 0.3376801576042648),
  ("White-rumped Shama", "Flame-throated Bulbul", 0.3376801576042648),
  ("Greater Flameback", "Malabar Barbet", 0.33581442587314303),
  ("Malabar Barbet", "Greater Flameback", 0.33581442587314303),
  ("Little Spiderhunter", "Bar-winged Flycatcher-shrike", 0.3347518733247374),
  ("Bar-winged Flycatcher-shrike", "Little Spiderhunter", 0.3347518733247374),
  ("Little Spiderhunter", "Gray-fronted Green-Pigeon", 0.33412408970625945),
  ("Gray-fronted Green-Pigeon", "Little Spiderhunter", 0.33412408970625945),
  ("Nilgiri Flowerpecker", "Dark-fronted Babbler", 0.33391423632640954),
  ("Dark-fronted Babbler", "Nilgiri Flowerpecker", 0.33391423632640954),
  ("Velvet-fronted Nuthatch", "Gray-fronted Green-Pigeon", 0.33388951625645363),
  ("Gray-fronted Green-Pigeon", "Velvet-fronted Nuthatch", 0.33388951625645363),
  ("Asian Emerald Dove", "Little Spiderhunter", 0.3329726277151919),
  ("Little Spiderhunter", "Asian Emerald Dove", 0.3329726277151919),
  ("Southern Hill Myna", "Indian Chat", 0.3325229605618584),
  ("Indian Chat", "Southern Hill Myna", 0.3325229605618584),
  ("Malabar Gray Hornbill", "Brown-cheeked Fulvetta", 0.3324913999812111),
  ("Brown-cheeked Fulvetta", "Malabar Gray Hornbill", 0.3324913999812111),
  ("Indian Scimitar-Babbler", "Brown-cheeked Fulvetta", 0.33220228532110563),
  ("Brown-cheeked Fulvetta", "Indian Scimitar-Babbler", 0.33220228532110563),
  ("Malabar Barbet", "Bar-winged Flycatcher-shrike", 0.3320884813692668),
  ("Bar-winged Flycatcher-shrike", "Malabar Barbet", 0.3320884813692668),
  ("Malabar Barbet", "White-bellied Treepie", 0.33185112317033066),
  ("White-bellied Treepie", "Malabar Barbet", 0.33185112317033066),
  ("Malabar Barbet", "Lesser Yellownape", 0.33161587778428303),
  ("Lesser Yellownape", "Malabar Barbet", 0.33161587778428303),
  ("Malabar Gray Hornbill", "Greater Flameback", 0.3311095419122256),
  ("Greater Flameback", "Malabar Gray Hornbill", 0.3311095419122256),
  ("Orange Minivet", "Little Spiderhunter", 0.3305523162884927),
  ("Little Spiderhunter", "Orange Minivet", 0.3305523162884927),
  ("Large Cuckooshrike", "Malabar Woodshrike", 0.33049542266608883),
  ("Malabar Woodshrike", "Large Cuckooshrike", 0.33049542266608883),
  ("Malabar Barbet", "Malabar Starling", 0.3297289657495822),
  ("Malabar Starling", "Malabar Barbet", 0.3297289657495822),
  ("Southern Hill Myna", "Brown-cheeked Fulvetta", 0.3282317401195744),
  ("Brown-cheeked Fulvetta", "Southern Hill Myna", 0.3282317401195744),
  ("White-cheeked Barbet", "White-throated Fantail", 0.3275559387677216),
  ("White-throated Fantail", "White-cheeked Barbet", 0.3275559387677216),
  ("Malabar Gray Hornbill", "Flame-throated Bulbul", 0.3265413241883751),
  ("Flame-throated Bulbul", "Malabar Gray Hornbill", 0.3265413241883751),
  ("Malabar Gray Hornbill", "Little Spiderhunter", 0.3264931199807505),
  ("Little Spiderhunter", "Malabar Gray Hornbill", 0.3264931199807505),
  ("Nilgiri Flowerpecker", "Little Spiderhunter", 0.3247942360119946),
  ("Little Spiderhunter", "Nilgiri Flowerpecker", 0.3247942360119946),
  ("Velvet-fronted Nuthatch", "Flame-throated Bulbul", 0.32473615770620573),
  ("Flame-throated Bulbul", "Velvet-fronted Nuthatch", 0.32473615770620573),
  ("Orange Minivet", "Asian Fairy-bluebird", 0.32365801404111894),
  ("Asian Fairy-bluebird", "Orange Minivet", 0.32365801404111894),
  ("Malabar Starling", "Lesser Yellownape", 0.3233737404068616),
  ("Lesser Yellownape", "Malabar Starling", 0.3233737404068616),
  ("Bar-winged Flycatcher-shrike", "Malabar Starling", 0.32328722606376825),
  ("Malabar Starling", "Bar-winged Flycatcher-shrike", 0.32328722606376825),
  ("Nilgiri Flowerpecker", "Asian Fairy-bluebird", 0.3228764178553689),
  ("Asian Fairy-bluebird", "Nilgiri Flowerpecker", 0.3228764178553689),
  ("Asian Emerald Dove", "Brown-cheeked Fulvetta", 0.32157966758168255),
  ("Brown-cheeked Fulvetta", "Asian Emerald Dove", 0.32157966758168255),
  ("Southern Hill Myna", "Gray-fronted Green-Pigeon", 0.3212703854337535),
  ("Gray-fronted Green-Pigeon", "Southern Hill Myna", 0.3212703854337535),
  ("Malabar Barbet", "Indian Chat", 0.320972647760875),
  ("Indian Chat", "Malabar Barbet", 0.320972647760875),
  ("Yellow-browed Bulbul", "Greater Flameback", 0.32085393847179583),
  ("Greater Flameback", "Yellow-browed Bulbul", 0.32085393847179583),
  ("Malabar Parakeet", "Little Spiderhunter", 0.3208393450426472),
  ("Little Spiderhunter", "Malabar Parakeet", 0.3208393450426472),
  ("Malabar Parakeet", "Lesser Yellownape", 0.3205623244862415),
  ("Lesser Yellownape", "Malabar Parakeet", 0.3205623244862415),
  ("Asian Emerald Dove", "Gray-fronted Green-Pigeon", 0.3201349432166201),
  ("Gray-fronted Green-Pigeon", "Asian Emerald Dove", 0.3201349432166201),
  ("Southern Hill Myna", "Malabar Barbet", 0.31809378658063636),
  ("Malabar Barbet", "Southern Hill Myna", 0.31809378658063636),
  ("Indian Scimitar-Babbler", "White-bellied Treepie", 0.3168816723899384),
  ("White-bellied Treepie", "Indian Scimitar-Babbler", 0.3168816723899384),
  ("Gray-headed Canary-Flycatcher", "Malabar Trogon", 0.316867621376343),
  ("Malabar Trogon", "Gray-headed Canary-Flycatcher", 0.316867621376343),
  ("Nilgiri Flowerpecker", "Malabar Woodshrike", 0.3159688332907403),
  ("Malabar Woodshrike", "Nilgiri Flowerpecker", 0.3159688332907403),
  ("Malabar Barbet", "Hair-crested Drongo", 0.314480048602796),
  ("Hair-crested Drongo", "Malabar Barbet", 0.314480048602796),
  ("Nilgiri Flowerpecker", "Gray-headed Canary-Flycatcher", 0.3141823226353727),
  ("Gray-headed Canary-Flycatcher", "Nilgiri Flowerpecker", 0.3141823226353727),
  ("Orange Minivet", "Lesser Yellownape", 0.3137428486907151),
  ("Lesser Yellownape", "Orange Minivet", 0.3137428486907151),
  ("Orange Minivet", "Malabar Trogon", 0.31355559910974373),
  ("Malabar Trogon", "Orange Minivet", 0.31355559910974373),
  ("Malabar Gray Hornbill", "Bar-winged Flycatcher-shrike", 0.3135075478345154),
  ("Bar-winged Flycatcher-shrike", "Malabar Gray Hornbill", 0.3135075478345154),
  ("Golden-fronted Leafbird", "Malabar Woodshrike", 0.31216960456511156),
  ("Malabar Woodshrike", "Golden-fronted Leafbird", 0.31216960456511156),
  ("Nilgiri Flowerpecker", "Crimson-backed Sunbird", 0.3119443059314318),
  ("Crimson-backed Sunbird", "Nilgiri Flowerpecker", 0.3119443059314318),
  ("Black Eagle", "Malabar Woodshrike", 0.31106831896829806),
  ("Malabar Woodshrike", "Black Eagle", 0.31106831896829806),
  ("Malabar Gray Hornbill", "Crimson-backed Sunbird", 0.31096493847495404),
  ("Crimson-backed Sunbird", "Malabar Gray Hornbill", 0.31096493847495404),
  ("Yellow-browed Bulbul", "Malabar Barbet", 0.31061902268956004),
  ("Malabar Barbet", "Yellow-browed Bulbul", 0.31061902268956004),
  ("Malabar Gray Hornbill", "Gray-fronted Green-Pigeon", 0.31048507178369983),
  ("Gray-fronted Green-Pigeon", "Malabar Gray Hornbill", 0.31048507178369983),
  ("Orange Minivet", "Brown-cheeked Fulvetta", 0.3104420120394044),
  ("Brown-cheeked Fulvetta", "Orange Minivet", 0.3104420120394044),
  ("Green/Greenish Warbler", "Malabar Woodshrike", 0.3099110234965167),
  ("Malabar Woodshrike", "Green/Greenish Warbler", 0.3099110234965167),
  ("Malabar Parakeet", "Gray-fronted Green-Pigeon", 0.3097001720922465),
  ("Gray-fronted Green-Pigeon", "Malabar Parakeet", 0.3097001720922465),
  ("Jerdon's Leafbird", "Black Bulbul", 0.3096523314489854),
  ("Black Bulbul", "Jerdon's Leafbird", 0.3096523314489854),
  ("Southern Hill Myna", "White-bellied Treepie", 0.3093425298728782),
  ("White-bellied Treepie", "Southern Hill Myna", 0.3093425298728782),
  ("Southern Hill Myna", "Velvet-fronted Nuthatch", 0.3091364704326249),
  ("Velvet-fronted Nuthatch", "Southern Hill Myna", 0.3091364704326249),
  (
    "Gray-fronted Green-Pigeon",
    "Bar-winged Flycatcher-shrike",
    0.30860728953545374
  ),
  (
    "Bar-winged Flycatcher-shrike",
    "Gray-fronted Green-Pigeon",
    0.30860728953545374
  ),
  ("Bronzed Drongo", "Malabar Woodshrike", 0.3080383000494655),
  ("Malabar Woodshrike", "Bronzed Drongo", 0.3080383000494655),
  ("Malabar Parakeet", "Malabar Gray Hornbill", 0.3076245722794198),
  ("Malabar Gray Hornbill", "Malabar Parakeet", 0.3076245722794198),
  ("Brown-capped Woodpecker", "Lesser Yellownape", 0.30712029952869957),
  ("Lesser Yellownape", "Brown-capped Woodpecker", 0.30712029952869957),
  ("Malabar Parakeet", "Brown-cheeked Fulvetta", 0.30707605686850975),
  ("Brown-cheeked Fulvetta", "Malabar Parakeet", 0.30707605686850975),
  ("Southern Hill Myna", "Malabar Gray Hornbill", 0.3070664419444777),
  ("Malabar Gray Hornbill", "Southern Hill Myna", 0.3070664419444777),
  ("Malabar Parakeet", "Greater Flameback", 0.30698706858048214),
  ("Greater Flameback", "Malabar Parakeet", 0.30698706858048214),
  ("Jerdon's Leafbird", "Gray Bushchat", 0.3067947999530885),
  ("Gray Bushchat", "Jerdon's Leafbird", 0.3067947999530885),
  ("Orange Minivet", "Hair-crested Drongo", 0.30676477109791317),
  ("Hair-crested Drongo", "Orange Minivet", 0.30676477109791317),
  ("Southern Hill Myna", "Malabar Parakeet", 0.3065150150019834),
  ("Malabar Parakeet", "Southern Hill Myna", 0.3065150150019834),
  ("Yellow-browed Bulbul", "Velvet-fronted Nuthatch", 0.3059806035764902),
  ("Velvet-fronted Nuthatch", "Yellow-browed Bulbul", 0.3059806035764902),
  ("Jerdon's Bushlark", "Indian Chat", 0.30587363952595803),
  ("Indian Chat", "Jerdon's Bushlark", 0.30587363952595803),
  ("Puff-throated Babbler", "Dark-fronted Babbler", 0.3051250647997741),
  ("Dark-fronted Babbler", "Puff-throated Babbler", 0.3051250647997741),
  ("Yellow-browed Bulbul", "Bar-winged Flycatcher-shrike", 0.3047825638096824),
  ("Bar-winged Flycatcher-shrike", "Yellow-browed Bulbul", 0.3047825638096824),
  ("Malabar Parakeet", "Flame-throated Bulbul", 0.30457406648015256),
  ("Flame-throated Bulbul", "Malabar Parakeet", 0.30457406648015256),
  ("Malabar Parakeet", "Dark-fronted Babbler", 0.30452610760659304),
  ("Dark-fronted Babbler", "Malabar Parakeet", 0.30452610760659304),
  ("Nilgiri Flowerpecker", "Brown-cheeked Fulvetta", 0.3039014174355095),
  ("Brown-cheeked Fulvetta", "Nilgiri Flowerpecker", 0.3039014174355095),
  ("Malabar Whistling-Thrush", "Little Spiderhunter", 0.3038426839275154),
  ("Little Spiderhunter", "Malabar Whistling-Thrush", 0.3038426839275154),
  ("Malabar Gray Hornbill", "Velvet-fronted Nuthatch", 0.3028506428960991),
  ("Velvet-fronted Nuthatch", "Malabar Gray Hornbill", 0.3028506428960991),
  ("Asian Fairy-bluebird", "White-rumped Shama", 0.30270882793327775),
  ("White-rumped Shama", "Asian Fairy-bluebird", 0.30270882793327775),
  ("Indian Scimitar-Babbler", "Little Spiderhunter", 0.3026503830501838),
  ("Little Spiderhunter", "Indian Scimitar-Babbler", 0.3026503830501838),
  ("Asian Emerald Dove", "Malabar Barbet", 0.30149772404101177),
  ("Malabar Barbet", "Asian Emerald Dove", 0.30149772404101177),
  ("Malabar Parakeet", "Velvet-fronted Nuthatch", 0.30146754719823504),
  ("Velvet-fronted Nuthatch", "Malabar Parakeet", 0.30146754719823504),
  ("Southern Hill Myna", "Malabar Trogon", 0.30084197939229607),
  ("Malabar Trogon", "Southern Hill Myna", 0.30084197939229607),
  ("Malabar Whistling-Thrush", "Flame-throated Bulbul", 0.30049460574882997),
  ("Flame-throated Bulbul", "Malabar Whistling-Thrush", 0.30049460574882997),
  ("Verditer Flycatcher", "Malabar Trogon", 0.30017835870165216),
  ("Malabar Trogon", "Verditer Flycatcher", 0.30017835870165216),
  ("Yellow-browed Bulbul", "Gray-headed Canary-Flycatcher", 0.30015110143115187),
  ("Gray-headed Canary-Flycatcher", "Yellow-browed Bulbul", 0.30015110143115187),
  ("Indian Scimitar-Babbler", "Malabar Trogon", 0.2997169841928094),
  ("Malabar Trogon", "Indian Scimitar-Babbler", 0.2997169841928094),
  ("Malabar Parakeet", "Malabar Barbet", 0.2995096916568241),
  ("Malabar Barbet", "Malabar Parakeet", 0.2995096916568241),
  ("Jerdon's Leafbird", "Great Barbet", 0.29897959183673467),
  ("Great Barbet", "Jerdon's Leafbird", 0.29897959183673467),
  ("Yellow-browed Bulbul", "Nilgiri Flowerpecker", 0.29833793932965663),
  ("Nilgiri Flowerpecker", "Yellow-browed Bulbul", 0.29833793932965663),
  ("Southern Hill Myna", "Flame-throated Bulbul", 0.2973613791509412),
  ("Flame-throated Bulbul", "Southern Hill Myna", 0.2973613791509412),
  ("Rufous Woodpecker", "Malabar Woodshrike", 0.29705291003735546),
  ("Malabar Woodshrike", "Rufous Woodpecker", 0.29705291003735546),
  ("Orange Minivet", "Crimson-backed Sunbird", 0.2966462148541498),
  ("Crimson-backed Sunbird", "Orange Minivet", 0.2966462148541498),
  ("Flame-throated Bulbul", "Verditer Flycatcher", 0.29578907163584656),
  ("Verditer Flycatcher", "Flame-throated Bulbul", 0.29578907163584656),
  ("Malabar Whistling-Thrush", "Brown-cheeked Fulvetta", 0.295667424478591),
  ("Brown-cheeked Fulvetta", "Malabar Whistling-Thrush", 0.295667424478591),
  (
    "Velvet-fronted Nuthatch",
    "Bar-winged Flycatcher-shrike",
    0.29557094281460733
  ),
  (
    "Bar-winged Flycatcher-shrike",
    "Velvet-fronted Nuthatch",
    0.29557094281460733
  ),
  ("Flame-throated Bulbul", "Taiga Flycatcher", 0.2954843832907671),
  ("Taiga Flycatcher", "Flame-throated Bulbul", 0.2954843832907671),
  ("Chestnut-headed Bee-eater", "Malabar Woodshrike", 0.2954550395826538),
  ("Malabar Woodshrike", "Chestnut-headed Bee-eater", 0.2954550395826538),
  ("Nilgiri Flowerpecker", "White-bellied Treepie", 0.29527187984478465),
  ("White-bellied Treepie", "Nilgiri Flowerpecker", 0.29527187984478465),
  ("Hair-crested Drongo", "Dark-fronted Babbler", 0.2951735442536608),
  ("Dark-fronted Babbler", "Hair-crested Drongo", 0.2951735442536608),
  ("Southern Hill Myna", "Greater Flameback", 0.2944021360963861),
  ("Greater Flameback", "Southern Hill Myna", 0.2944021360963861),
  ("Brown-capped Woodpecker", "Malabar Trogon", 0.29424987055872626),
  ("Malabar Trogon", "Brown-capped Woodpecker", 0.29424987055872626),
  ("Black Eagle", "Malabar Trogon", 0.2940264595835501),
  ("Malabar Trogon", "Black Eagle", 0.2940264595835501),
  ("Orange Minivet", "Greater Flameback", 0.2935526400675902),
  ("Greater Flameback", "Orange Minivet", 0.2935526400675902),
  ("Black-naped Monarch", "Bar-winged Flycatcher-shrike", 0.2919376465399058),
  ("Bar-winged Flycatcher-shrike", "Black-naped Monarch", 0.2919376465399058),
  ("Orange Minivet", "Dark-fronted Babbler", 0.2919168427480051),
  ("Dark-fronted Babbler", "Orange Minivet", 0.2919168427480051),
  ("Southern Hill Myna", "Little Spiderhunter", 0.2914977581958963),
  ("Little Spiderhunter", "Southern Hill Myna", 0.2914977581958963),
  ("Yellow-browed Bulbul", "White-bellied Treepie", 0.2913296958821023),
  ("White-bellied Treepie", "Yellow-browed Bulbul", 0.2913296958821023),
  ("Asian Emerald Dove", "White-bellied Treepie", 0.29099082048471875),
  ("White-bellied Treepie", "Asian Emerald Dove", 0.29099082048471875),
  ("Malabar Whistling-Thrush", "Malabar Woodshrike", 0.2905773056307641),
  ("Malabar Woodshrike", "Malabar Whistling-Thrush", 0.2905773056307641),
  ("Green/Greenish Warbler", "Brown-cheeked Fulvetta", 0.29046271935926926),
  ("Brown-cheeked Fulvetta", "Green/Greenish Warbler", 0.29046271935926926),
  ("Indian Scimitar-Babbler", "Rufous Babbler", 0.29037784016126894),
  ("Rufous Babbler", "Indian Scimitar-Babbler", 0.29037784016126894),
  ("Gray-fronted Green-Pigeon", "Malabar Starling", 0.2903470195368332),
  ("Malabar Starling", "Gray-fronted Green-Pigeon", 0.2903470195368332),
  ("Rufous Babbler", "Gray-fronted Green-Pigeon", 0.2901453119896149),
  ("Gray-fronted Green-Pigeon", "Rufous Babbler", 0.2901453119896149),
  ("Asian Brown Flycatcher", "Malabar Trogon", 0.2900880341142584),
  ("Malabar Trogon", "Asian Brown Flycatcher", 0.2900880341142584),
  ("Red Spurfowl", "Dark-fronted Babbler", 0.28997984616638967),
  ("Dark-fronted Babbler", "Red Spurfowl", 0.28997984616638967),
  ("Yellow-browed Bulbul", "Black-naped Monarch", 0.2898271977256538),
  ("Black-naped Monarch", "Yellow-browed Bulbul", 0.2898271977256538),
  ("Southern Hill Myna", "Crimson-backed Sunbird", 0.28973967480520235),
  ("Crimson-backed Sunbird", "Southern Hill Myna", 0.28973967480520235),
  ("Orange Minivet", "Flame-throated Bulbul", 0.2896567192990511),
  ("Flame-throated Bulbul", "Orange Minivet", 0.2896567192990511),
  ("Malabar Starling", "White-rumped Shama", 0.2894969430268633),
  ("White-rumped Shama", "Malabar Starling", 0.2894969430268633),
  ("Crimson-backed Sunbird", "Gray-fronted Green-Pigeon", 0.28929749370868263),
  ("Gray-fronted Green-Pigeon", "Crimson-backed Sunbird", 0.28929749370868263),
  ("Nilgiri Flowerpecker", "Malabar Barbet", 0.2892730021989702),
  ("Malabar Barbet", "Nilgiri Flowerpecker", 0.2892730021989702),
  ("Southern Hill Myna", "Dark-fronted Babbler", 0.2889115760038682),
  ("Dark-fronted Babbler", "Southern Hill Myna", 0.2889115760038682),
  ("Dark-fronted Babbler", "Black Eagle", 0.2886231897607653),
  ("Black Eagle", "Dark-fronted Babbler", 0.2886231897607653),
  ("Malabar Parakeet", "Crimson-backed Sunbird", 0.2885075896918239),
  ("Crimson-backed Sunbird", "Malabar Parakeet", 0.2885075896918239),
  ("Yellow-browed Bulbul", "Asian Emerald Dove", 0.28736930459959975),
  ("Asian Emerald Dove", "Yellow-browed Bulbul", 0.28736930459959975),
  ("Malabar Parakeet", "Asian Emerald Dove", 0.28728001273497594),
  ("Asian Emerald Dove", "Malabar Parakeet", 0.28728001273497594),
  ("Malabar Gray Hornbill", "Lesser Yellownape", 0.287021460015566),
  ("Lesser Yellownape", "Malabar Gray Hornbill", 0.287021460015566),
  ("Nilgiri Flowerpecker", "Flame-throated Bulbul", 0.2860619700871415),
  ("Flame-throated Bulbul", "Nilgiri Flowerpecker", 0.2860619700871415),
  ("Little Spiderhunter", "Brown-capped Woodpecker", 0.28606143285923386),
  ("Brown-capped Woodpecker", "Little Spiderhunter", 0.28606143285923386),
  ("Orange Minivet", "Malabar Barbet", 0.2859003822352573),
  ("Malabar Barbet", "Orange Minivet", 0.2859003822352573),
  ("Brown-headed Barbet", "Malabar Woodshrike", 0.28551240616081586),
  ("Malabar Woodshrike", "Brown-headed Barbet", 0.28551240616081586),
  ("Asian Fairy-bluebird", "Asian Emerald Dove", 0.2850030005005173),
  ("Asian Emerald Dove", "Asian Fairy-bluebird", 0.2850030005005173),
  ("Yellow-browed Bulbul", "Lesser Yellownape", 0.28482028664495923),
  ("Lesser Yellownape", "Yellow-browed Bulbul", 0.28482028664495923),
  ("Yellow-browed Bulbul", "Gray-fronted Green-Pigeon", 0.2846580108061136),
  ("Gray-fronted Green-Pigeon", "Yellow-browed Bulbul", 0.2846580108061136),
  ("Yellow-footed Pigeon", "Dark-fronted Babbler", 0.28387158550216973),
  ("Dark-fronted Babbler", "Yellow-footed Pigeon", 0.28387158550216973),
  ("Nilgiri Flowerpecker", "Velvet-fronted Nuthatch", 0.2834180979610832),
  ("Velvet-fronted Nuthatch", "Nilgiri Flowerpecker", 0.2834180979610832),
  ("Crimson-backed Sunbird", "Asian Emerald Dove", 0.2821130154197388),
  ("Asian Emerald Dove", "Crimson-backed Sunbird", 0.2821130154197388),
  ("Black Eagle", "White-bellied Treepie", 0.28154310722923254),
  ("White-bellied Treepie", "Black Eagle", 0.28154310722923254),
  ("Southern Hill Myna", "Nilgiri Flowerpecker", 0.2814834223653557),
  ("Nilgiri Flowerpecker", "Southern Hill Myna", 0.2814834223653557),
  ("Crimson-backed Sunbird", "Lesser Yellownape", 0.28064961200361277),
  ("Lesser Yellownape", "Crimson-backed Sunbird", 0.28064961200361277),
  ("Malabar Gray Hornbill", "Hair-crested Drongo", 0.28063557022313973),
  ("Hair-crested Drongo", "Malabar Gray Hornbill", 0.28063557022313973),
  ("Crested Serpent-Eagle", "Malabar Woodshrike", 0.2805255293723734),
  ("Malabar Woodshrike", "Crested Serpent-Eagle", 0.2805255293723734),
  ("Orange Minivet", "Gray-fronted Green-Pigeon", 0.28015023491579666),
  ("Gray-fronted Green-Pigeon", "Orange Minivet", 0.28015023491579666),
  ("Indian Scimitar-Babbler", "Crimson-backed Sunbird", 0.27860498078714463),
  ("Crimson-backed Sunbird", "Indian Scimitar-Babbler", 0.27860498078714463),
  ("Puff-throated Babbler", "Indian Scimitar-Babbler", 0.27834495119137215),
  ("Indian Scimitar-Babbler", "Puff-throated Babbler", 0.27834495119137215),
  ("Nilgiri Flowerpecker", "Bar-winged Flycatcher-shrike", 0.27828808661174015),
  ("Bar-winged Flycatcher-shrike", "Nilgiri Flowerpecker", 0.27828808661174015),
  ("Dark-fronted Babbler", "Rufous Woodpecker", 0.27732299494194146),
  ("Rufous Woodpecker", "Dark-fronted Babbler", 0.27732299494194146),
  ("Gray-headed Canary-Flycatcher", "Brown-cheeked Fulvetta", 0.277231356893644),
  ("Brown-cheeked Fulvetta", "Gray-headed Canary-Flycatcher", 0.277231356893644),
  ("Malabar Parakeet", "Bar-winged Flycatcher-shrike", 0.27678223208483693),
  ("Bar-winged Flycatcher-shrike", "Malabar Parakeet", 0.27678223208483693),
  ("Asian Emerald Dove", "White-rumped Shama", 0.2761230448553491),
  ("White-rumped Shama", "Asian Emerald Dove", 0.2761230448553491),
  ("Little Spiderhunter", "Thick-billed Flowerpecker", 0.2753530138688724),
  ("Thick-billed Flowerpecker", "Little Spiderhunter", 0.2753530138688724),
  ("Southern Hill Myna", "Bar-winged Flycatcher-shrike", 0.2751961141481471),
  ("Bar-winged Flycatcher-shrike", "Southern Hill Myna", 0.2751961141481471),
  ("Yellow-browed Bulbul", "Malabar Gray Hornbill", 0.27487302091413895),
  ("Malabar Gray Hornbill", "Yellow-browed Bulbul", 0.27487302091413895),
  ("Orange Minivet", "White-bellied Treepie", 0.2747898880771455),
  ("White-bellied Treepie", "Orange Minivet", 0.2747898880771455),
  ("Black-naped Monarch", "Malabar Barbet", 0.2747722598143923),
  ("Malabar Barbet", "Black-naped Monarch", 0.2747722598143923),
  ("Rufous Babbler", "Flame-throated Bulbul", 0.2745949913808338),
  ("Flame-throated Bulbul", "Rufous Babbler", 0.2745949913808338),
  ("Hair-crested Drongo", "White-bellied Treepie", 0.2741754848195718),
  ("White-bellied Treepie", "Hair-crested Drongo", 0.2741754848195718),
  ("Yellow-browed Bulbul", "Southern Hill Myna", 0.2740270401153309),
  ("Southern Hill Myna", "Yellow-browed Bulbul", 0.2740270401153309),
  ("Asian Brown Flycatcher", "Gray-fronted Green-Pigeon", 0.2734981323400967),
  ("Gray-fronted Green-Pigeon", "Asian Brown Flycatcher", 0.2734981323400967),
  ("Indian Scimitar-Babbler", "Gray-fronted Green-Pigeon", 0.2731927321629763),
  ("Gray-fronted Green-Pigeon", "Indian Scimitar-Babbler", 0.2731927321629763),
  ("Nilgiri Flowerpecker", "Greater Flameback", 0.27285449312527077),
  ("Greater Flameback", "Nilgiri Flowerpecker", 0.27285449312527077),
  ("Orange Minivet", "White-rumped Shama", 0.27260564819052485),
  ("White-rumped Shama", "Orange Minivet", 0.27260564819052485),
  ("Malabar Starling", "Malabar Trogon", 0.27234918434406064),
  ("Malabar Trogon", "Malabar Starling", 0.27234918434406064),
  ("Malabar Gray Hornbill", "Asian Emerald Dove", 0.27216858663782006),
  ("Asian Emerald Dove", "Malabar Gray Hornbill", 0.27216858663782006),
  ("Asian Brown Flycatcher", "Flame-throated Bulbul", 0.27213784034490873),
  ("Flame-throated Bulbul", "Asian Brown Flycatcher", 0.27213784034490873),
  ("Yellow-browed Bulbul", "Indian Scimitar-Babbler", 0.27183065861029915),
  ("Indian Scimitar-Babbler", "Yellow-browed Bulbul", 0.27183065861029915),
  ("Velvet-fronted Nuthatch", "Brown-capped Woodpecker", 0.2717403265688683),
  ("Brown-capped Woodpecker", "Velvet-fronted Nuthatch", 0.2717403265688683),
  ("Black-naped Monarch", "Greater Flameback", 0.2717397290130026),
  ("Greater Flameback", "Black-naped Monarch", 0.2717397290130026),
  ("Nilgiri Flowerpecker", "Malabar Trogon", 0.27166690755531675),
  ("Malabar Trogon", "Nilgiri Flowerpecker", 0.27166690755531675),
  ("Orange-headed Thrush", "Malabar Trogon", 0.270498236970278),
  ("Malabar Trogon", "Orange-headed Thrush", 0.270498236970278),
  ("Malabar Parakeet", "Hair-crested Drongo", 0.2703663413350203),
  ("Hair-crested Drongo", "Malabar Parakeet", 0.2703663413350203),
  ("Brown-cheeked Fulvetta", "White-rumped Shama", 0.26982433420516155),
  ("White-rumped Shama", "Brown-cheeked Fulvetta", 0.26982433420516155),
  ("Black-naped Monarch", "Crimson-backed Sunbird", 0.26970231257447264),
  ("Crimson-backed Sunbird", "Black-naped Monarch", 0.26970231257447264),
  ("Crimson-backed Sunbird", "White-rumped Shama", 0.2694784283380837),
  ("White-rumped Shama", "Crimson-backed Sunbird", 0.2694784283380837),
  ("Greater Flameback", "Velvet-fronted Nuthatch", 0.2694543092215118),
  ("Velvet-fronted Nuthatch", "Greater Flameback", 0.2694543092215118),
  ("Malabar Barbet", "Verditer Flycatcher", 0.26911609080959065),
  ("Verditer Flycatcher", "Malabar Barbet", 0.26911609080959065),
  ("Orange Minivet", "Malabar Parakeet", 0.2682857213839593),
  ("Malabar Parakeet", "Orange Minivet", 0.2682857213839593),
  ("Yellow-browed Bulbul", "Orange Minivet", 0.2679951480169274),
  ("Orange Minivet", "Yellow-browed Bulbul", 0.2679951480169274),
  ("Green/Greenish Warbler", "Malabar Trogon", 0.26797068086853737),
  ("Malabar Trogon", "Green/Greenish Warbler", 0.26797068086853737),
  ("Vernal Hanging-Parrot", "Malabar Woodshrike", 0.2678489564520989),
  ("Malabar Woodshrike", "Vernal Hanging-Parrot", 0.2678489564520989),
  ("Golden-fronted Leafbird", "Flame-throated Bulbul", 0.26675009847460096),
  ("Flame-throated Bulbul", "Golden-fronted Leafbird", 0.26675009847460096),
  ("Puff-throated Babbler", "Malabar Woodshrike", 0.26621965777029966),
  ("Malabar Woodshrike", "Puff-throated Babbler", 0.26621965777029966),
  ("Malabar Whistling-Thrush", "Asian Fairy-bluebird", 0.26539687515468113),
  ("Asian Fairy-bluebird", "Malabar Whistling-Thrush", 0.26539687515468113),
  ("Bar-winged Flycatcher-shrike", "White-rumped Shama", 0.2653135301427261),
  ("White-rumped Shama", "Bar-winged Flycatcher-shrike", 0.2653135301427261),
  ("Nilgiri Flowerpecker", "Indian Scimitar-Babbler", 0.26511545294100025),
  ("Indian Scimitar-Babbler", "Nilgiri Flowerpecker", 0.26511545294100025),
  ("Brown-capped Woodpecker", "Malabar Starling", 0.2650020965853131),
  ("Malabar Starling", "Brown-capped Woodpecker", 0.2650020965853131),
  ("Gray-fronted Green-Pigeon", "Brown-capped Woodpecker", 0.26469183324928974),
  ("Brown-capped Woodpecker", "Gray-fronted Green-Pigeon", 0.26469183324928974),
  ("Plum-headed Parakeet", "Malabar Woodshrike", 0.26448959950564244),
  ("Malabar Woodshrike", "Plum-headed Parakeet", 0.26448959950564244),
  ("Brown-cheeked Fulvetta", "Lesser Yellownape", 0.2631471113941311),
  ("Lesser Yellownape", "Brown-cheeked Fulvetta", 0.2631471113941311),
  ("Bronzed Drongo", "Dark-fronted Babbler", 0.2629679796942543),
  ("Dark-fronted Babbler", "Bronzed Drongo", 0.2629679796942543),
  ("Yellow-browed Bulbul", "Malabar Whistling-Thrush", 0.2623467721390631),
  ("Malabar Whistling-Thrush", "Yellow-browed Bulbul", 0.2623467721390631),
  ("Velvet-fronted Nuthatch", "Malabar Starling", 0.26228028565556666),
  ("Malabar Starling", "Velvet-fronted Nuthatch", 0.26228028565556666),
  ("Puff-throated Babbler", "Malabar Trogon", 0.26196890868431655),
  ("Malabar Trogon", "Puff-throated Babbler", 0.26196890868431655),
  ("Small Minivet", "Malabar Woodshrike", 0.26161065921765375),
  ("Malabar Woodshrike", "Small Minivet", 0.26161065921765375),
  ("Asian Fairy-bluebird", "Malabar Starling", 0.2612063836723599),
  ("Malabar Starling", "Asian Fairy-bluebird", 0.2612063836723599),
  ("Nilgiri Flowerpecker", "Gray-fronted Green-Pigeon", 0.26101948971975836),
  ("Gray-fronted Green-Pigeon", "Nilgiri Flowerpecker", 0.26101948971975836),
  ("Asian Fairy-bluebird", "Brown-headed Barbet", 0.2606492255689585),
  ("Brown-headed Barbet", "Asian Fairy-bluebird", 0.2606492255689585),
  ("Black-naped Monarch", "Brown-cheeked Fulvetta", 0.26042030530350924),
  ("Brown-cheeked Fulvetta", "Black-naped Monarch", 0.26042030530350924),
  ("Brown-cheeked Fulvetta", "Gray-fronted Green-Pigeon", 0.260236239677761),
  ("Gray-fronted Green-Pigeon", "Brown-cheeked Fulvetta", 0.260236239677761),
  ("Malabar Whistling-Thrush", "White-bellied Treepie", 0.25964916832076723),
  ("White-bellied Treepie", "Malabar Whistling-Thrush", 0.25964916832076723),
  ("Orange Minivet", "Brown-capped Woodpecker", 0.2592727831379937),
  ("Brown-capped Woodpecker", "Orange Minivet", 0.2592727831379937),
  ("Orange Minivet", "Malabar Gray Hornbill", 0.25872181059642674),
  ("Malabar Gray Hornbill", "Orange Minivet", 0.25872181059642674),
  ("Malabar Whistling-Thrush", "Greater Flameback", 0.2587026259583439),
  ("Greater Flameback", "Malabar Whistling-Thrush", 0.2587026259583439),
  ("Black-naped Monarch", "Asian Fairy-bluebird", 0.2586784392354575),
  ("Asian Fairy-bluebird", "Black-naped Monarch", 0.2586784392354575),
  ("Southern Hill Myna", "Lesser Yellownape", 0.2575240209551613),
  ("Lesser Yellownape", "Southern Hill Myna", 0.2575240209551613),
  ("Orange-headed Thrush", "Malabar Woodshrike", 0.25740938626839543),
  ("Malabar Woodshrike", "Orange-headed Thrush", 0.25740938626839543),
  ("Black-naped Monarch", "White-bellied Treepie", 0.2570292250503049),
  ("White-bellied Treepie", "Black-naped Monarch", 0.2570292250503049),
  ("Puff-throated Babbler", "Brown-cheeked Fulvetta", 0.25677652586297245),
  ("Brown-cheeked Fulvetta", "Puff-throated Babbler", 0.25677652586297245),
  ("Yellow-browed Bulbul", "Malabar Parakeet", 0.2564472315027511),
  ("Malabar Parakeet", "Yellow-browed Bulbul", 0.2564472315027511),
  ("Brown-headed Barbet", "Flame-throated Bulbul", 0.2561782636906368),
  ("Flame-throated Bulbul", "Brown-headed Barbet", 0.2561782636906368),
  ("Vernal Hanging-Parrot", "Malabar Trogon", 0.2561619033922148),
  ("Malabar Trogon", "Vernal Hanging-Parrot", 0.2561619033922148),
  ("Rufous Babbler", "White-bellied Treepie", 0.25596955108969366),
  ("White-bellied Treepie", "Rufous Babbler", 0.25596955108969366),
  ("Indian Scimitar-Babbler", "Asian Fairy-bluebird", 0.2557788295027474),
  ("Asian Fairy-bluebird", "Indian Scimitar-Babbler", 0.2557788295027474),
  ("Gray Junglefowl", "Malabar Woodshrike", 0.2553099130554733),
  ("Malabar Woodshrike", "Gray Junglefowl", 0.2553099130554733),
  ("Bronzed Drongo", "Malabar Trogon", 0.25526800274429257),
  ("Malabar Trogon", "Bronzed Drongo", 0.25526800274429257),
  ("Asian Fairy-bluebird", "Brown-capped Woodpecker", 0.2551536949050581),
  ("Brown-capped Woodpecker", "Asian Fairy-bluebird", 0.2551536949050581),
  ("Flame-throated Bulbul", "Malabar Starling", 0.2550671938522751),
  ("Malabar Starling", "Flame-throated Bulbul", 0.2550671938522751),
  ("Indian Scimitar-Babbler", "Flame-throated Bulbul", 0.2548595406047111),
  ("Flame-throated Bulbul", "Indian Scimitar-Babbler", 0.2548595406047111),
  ("Black-naped Monarch", "Gray-fronted Green-Pigeon", 0.2543004304075711),
  ("Gray-fronted Green-Pigeon", "Black-naped Monarch", 0.2543004304075711),
  ("Crimson-backed Sunbird", "Verditer Flycatcher", 0.2539653977706913),
  ("Verditer Flycatcher", "Crimson-backed Sunbird", 0.2539653977706913),
  ("Orange Minivet", "Southern Hill Myna", 0.25330401338196934),
  ("Southern Hill Myna", "Orange Minivet", 0.25330401338196934),
  ("Black-naped Monarch", "Velvet-fronted Nuthatch", 0.2532091183528308),
  ("Velvet-fronted Nuthatch", "Black-naped Monarch", 0.2532091183528308),
  ("White-cheeked Barbet", "Black Bulbul", 0.2531667609802812),
  ("Black Bulbul", "White-cheeked Barbet", 0.2531667609802812),
  ("Malabar Whistling-Thrush", "Indian Scimitar-Babbler", 0.25300036347651517),
  ("Indian Scimitar-Babbler", "Malabar Whistling-Thrush", 0.25300036347651517),
  ("Rufous Babbler", "Rufous Woodpecker", 0.2529275933283387),
  ("Rufous Woodpecker", "Rufous Babbler", 0.2529275933283387),
  ("Malabar Barbet", "Taiga Flycatcher", 0.25280365330658067),
  ("Taiga Flycatcher", "Malabar Barbet", 0.25280365330658067),
  ("Puff-throated Babbler", "Flame-throated Bulbul", 0.2527919795842834),
  ("Flame-throated Bulbul", "Puff-throated Babbler", 0.2527919795842834),
  ("Asian Brown Flycatcher", "Little Spiderhunter", 0.25242486464001257),
  ("Little Spiderhunter", "Asian Brown Flycatcher", 0.25242486464001257),
  ("Indian Swiftlet", "Little Spiderhunter", 0.25234841627752713),
  ("Little Spiderhunter", "Indian Swiftlet", 0.25234841627752713),
  ("Malabar Whistling-Thrush", "Crimson-backed Sunbird", 0.2522387434988875),
  ("Crimson-backed Sunbird", "Malabar Whistling-Thrush", 0.2522387434988875),
  ("Vernal Hanging-Parrot", "Dark-fronted Babbler", 0.251664482706651),
  ("Dark-fronted Babbler", "Vernal Hanging-Parrot", 0.251664482706651),
  ("Gray Junglefowl", "Dark-fronted Babbler", 0.25133493460266043),
  ("Dark-fronted Babbler", "Gray Junglefowl", 0.25133493460266043),
  ("Puff-throated Babbler", "Asian Fairy-bluebird", 0.2510522086596319),
  ("Asian Fairy-bluebird", "Puff-throated Babbler", 0.2510522086596319),
  ("Nilgiri Flowerpecker", "Lesser Yellownape", 0.25089142706499806),
  ("Lesser Yellownape", "Nilgiri Flowerpecker", 0.25089142706499806),
  ("Golden-fronted Leafbird", "Dark-fronted Babbler", 0.2507175592514613),
  ("Dark-fronted Babbler", "Golden-fronted Leafbird", 0.2507175592514613),
  ("Crimson-backed Sunbird", "Black Eagle", 0.2506347863247482),
  ("Black Eagle", "Crimson-backed Sunbird", 0.2506347863247482),
  ("Greater Flameback", "White-rumped Shama", 0.25022749171793734),
  ("White-rumped Shama", "Greater Flameback", 0.25022749171793734),
  ("Orange Minivet", "Nilgiri Flowerpecker", 0.24994488316644917),
  ("Nilgiri Flowerpecker", "Orange Minivet", 0.24994488316644917),
  ("Flame-throated Bulbul", "Thick-billed Flowerpecker", 0.2497546289727038),
  ("Thick-billed Flowerpecker", "Flame-throated Bulbul", 0.2497546289727038),
  ("Greater Flameback", "Brown-capped Woodpecker", 0.24957267239237566),
  ("Brown-capped Woodpecker", "Greater Flameback", 0.24957267239237566),
  ("Flame-throated Bulbul", "Black Eagle", 0.24949617877163457),
  ("Black Eagle", "Flame-throated Bulbul", 0.24949617877163457),
  ("Indian Scimitar-Babbler", "Greater Flameback", 0.24889257952258473),
  ("Greater Flameback", "Indian Scimitar-Babbler", 0.24889257952258473),
  ("Velvet-fronted Nuthatch", "White-rumped Shama", 0.24848781118797833),
  ("White-rumped Shama", "Velvet-fronted Nuthatch", 0.24848781118797833),
  ("Vernal Hanging-Parrot", "Lesser Yellownape", 0.24838086770351123),
  ("Lesser Yellownape", "Vernal Hanging-Parrot", 0.24838086770351123),
  (
    "Brown-capped Woodpecker",
    "Bar-winged Flycatcher-shrike",
    0.24829120022649018
  ),
  (
    "Bar-winged Flycatcher-shrike",
    "Brown-capped Woodpecker",
    0.24829120022649018
  ),
  ("Crested Serpent-Eagle", "Malabar Trogon", 0.24825419306971944),
  ("Malabar Trogon", "Crested Serpent-Eagle", 0.24825419306971944),
  ("Nilgiri Flowerpecker", "Black-naped Monarch", 0.24765056769236937),
  ("Black-naped Monarch", "Nilgiri Flowerpecker", 0.24765056769236937),
  ("Flame-throated Bulbul", "Rufous Woodpecker", 0.24734411734358952),
  ("Rufous Woodpecker", "Flame-throated Bulbul", 0.24734411734358952),
  ("Greater Flameback", "Lesser Yellownape", 0.24731937467974138),
  ("Lesser Yellownape", "Greater Flameback", 0.24731937467974138),
  ("Golden-fronted Leafbird", "Gray-fronted Green-Pigeon", 0.24683943811654122),
  ("Gray-fronted Green-Pigeon", "Golden-fronted Leafbird", 0.24683943811654122),
  ("Southern Hill Myna", "Hair-crested Drongo", 0.24670079429979413),
  ("Hair-crested Drongo", "Southern Hill Myna", 0.24670079429979413),
  ("Malabar Whistling-Thrush", "Gray-fronted Green-Pigeon", 0.2466020504295251),
  ("Gray-fronted Green-Pigeon", "Malabar Whistling-Thrush", 0.2466020504295251),
  ("Southern Hill Myna", "Asian Emerald Dove", 0.24636861872858123),
  ("Asian Emerald Dove", "Southern Hill Myna", 0.24636861872858123),
  ("Nilgiri Flowerpecker", "Malabar Parakeet", 0.24615492706420325),
  ("Malabar Parakeet", "Nilgiri Flowerpecker", 0.24615492706420325),
  ("Vernal Hanging-Parrot", "Malabar Barbet", 0.24615382379415282),
  ("Malabar Barbet", "Vernal Hanging-Parrot", 0.24615382379415282),
  ("Yellow-footed Pigeon", "Flame-throated Bulbul", 0.24607602660498654),
  ("Flame-throated Bulbul", "Yellow-footed Pigeon", 0.24607602660498654),
  ("Orange Minivet", "Asian Emerald Dove", 0.24596794463913646),
  ("Asian Emerald Dove", "Orange Minivet", 0.24596794463913646),
  ("Bronzed Drongo", "Flame-throated Bulbul", 0.2456735269878947),
  ("Flame-throated Bulbul", "Bronzed Drongo", 0.2456735269878947),
  ("Malabar Whistling-Thrush", "Rufous Babbler", 0.24553379482763046),
  ("Rufous Babbler", "Malabar Whistling-Thrush", 0.24553379482763046),
  ("Puff-throated Babbler", "Rufous Babbler", 0.24513763044332143),
  ("Rufous Babbler", "Puff-throated Babbler", 0.24513763044332143),
  ("Puff-throated Babbler", "Little Spiderhunter", 0.2448802442184017),
  ("Little Spiderhunter", "Puff-throated Babbler", 0.2448802442184017),
  ("Asian Brown Flycatcher", "White-bellied Treepie", 0.24442699635673487),
  ("White-bellied Treepie", "Asian Brown Flycatcher", 0.24442699635673487),
  ("Vernal Hanging-Parrot", "Little Spiderhunter", 0.24409956236151067),
  ("Little Spiderhunter", "Vernal Hanging-Parrot", 0.24409956236151067),
  ("Yellow-footed Pigeon", "Malabar Woodshrike", 0.2440405108368553),
  ("Malabar Woodshrike", "Yellow-footed Pigeon", 0.2440405108368553),
  ("Brown-cheeked Fulvetta", "Black Eagle", 0.24397386249045264),
  ("Black Eagle", "Brown-cheeked Fulvetta", 0.24397386249045264),
  ("Asian Fairy-bluebird", "Thick-billed Flowerpecker", 0.24393440721124038),
  ("Thick-billed Flowerpecker", "Asian Fairy-bluebird", 0.24393440721124038),
  ("Nilgiri Flowerpecker", "Malabar Gray Hornbill", 0.24387918533305325),
  ("Malabar Gray Hornbill", "Nilgiri Flowerpecker", 0.24387918533305325),
  ("Little Spiderhunter", "White-rumped Shama", 0.24370736828686584),
  ("White-rumped Shama", "Little Spiderhunter", 0.24370736828686584),
  ("Black-naped Monarch", "Little Spiderhunter", 0.24338064189161707),
  ("Little Spiderhunter", "Black-naped Monarch", 0.24338064189161707),
  ("Black-naped Monarch", "Rufous Babbler", 0.24329218177318446),
  ("Rufous Babbler", "Black-naped Monarch", 0.24329218177318446),
  ("Oriental Turtle-Dove", "Dark-fronted Babbler", 0.24293024602001617),
  ("Dark-fronted Babbler", "Oriental Turtle-Dove", 0.24293024602001617)
)

In [34]:
val birdLocEdges = for ((x, y) <- topPairs) yield Edge(Node(x, commonNames(x)), Node(y, commonNames(y)), localCoOccurence(x, y))
birdLocEdges: Vector[Edge] = Vector(
  Edge(
    Node(
      "Corvus splendens",
      "House Crow",
      1.0,
      0,
      List(),
      List(),
      NodeState(
        Vector2D(0.4839669666914944, 0.4848822396937428),
        Vector2D(0.0, 0.0),
        Vector2D(0.0, 0.0)
      )
    ),
    Node(
      "Acridotheres tristis",
      "Common Myna",
      1.0,
      0,
...
In [35]:
val birdLocGraph = new SpringGraph(birdNodes, birdLocEdges)
birdLocGraph: SpringGraph = at.ait.dme.forcelayout.SpringGraph@5d4dab43
In [36]:
birdLocGraph.doLayout(maxIterations = 3000)

In [37]:
val birdLocTriples = birdLocGraph.nodes.toVector map ((n) => (n.state.pos.x, n.state.pos.y, n.label))
birdLocTriples: Vector[(Double, Double, String)] = Vector(
  (1208.5794247404278, 753.6699889774096, "Alexandrine Parakeet"),
  (-458.16670543294015, -536.2105051943871, "Large-billed Crow"),
  (-757.1440727866661, 1287.6958046326067, "Great Egret"),
  (-1431.0742321824405, 3892.769002085436, "Painted Stork"),
  (473.3690936750347, -1639.7080922546318, "Oriental White-eye"),
  (993.5467289042905, -2758.681601265033, "White-bellied Treepie"),
  (-299.3997492786954, 1587.1546889558756, "Baya Weaver"),
  (-24.274335130624408, 125.90195005396666, "Ashy Woodswallow"),
  (684.8407269152327, -1307.350226579547, "Tickell's Blue-Flycatcher"),
  (-1549.4886415384967, 3502.5165398502036, "Eurasian Spoonbill"),
  (945.6370779991622, -1900.9132753009599, "Thick-billed Flowerpecker"),
  (696.2408089755646, -1709.6681534442457, "Lesser Yellownape"),
  (585.6164010380959, -1921.1604531798112, "Verditer Flycatcher"),
  (578.5648280893312, -1419.9347540654426, "Brown-capped Woodpecker"),
  (-1195.819896461429, 306.21815191584426, "Bank Myna"),
  (-1037.0943555683039, 1810.8405254633724, "Eurasian Marsh-Harrier"),
  (655.5703275507227, -1488.8813686176074, "Chestnut-headed Bee-eater"),
  (159.39900488290897, -358.94612157321285, "Blue-faced Malkoha"),
  (-1132.785563803209, -1367.9514433718077, "Red-breasted Flycatcher"),
...
In [38]:
val birdLocPlot = scatterPlot(birdLocTriples, width = 1200, height = 500, r = 2)
birdLocPlot: String = """

      <div>
      
    
    <style>
      .labl {
        display: none;
      }
      .labelled:hover + .labl {
        display: inline;
      }
    </style>
    

    <svg version="1.1"
   baseProfile="full"
   width="1200" height="500"
   xmlns="http://www.w3.org/2000/svg">

...
In [39]:
display.html(birdLocPlot)
Alexandrine Parakeet Large-billed Crow Great Egret Painted Stork Oriental White-eye White-bellied Treepie Baya Weaver Ashy Woodswallow Tickell's Blue-Flycatcher Eurasian Spoonbill Thick-billed Flowerpecker Lesser Yellownape Verditer Flycatcher Brown-capped Woodpecker Bank Myna Eurasian Marsh-Harrier Chestnut-headed Bee-eater Blue-faced Malkoha Red-breasted Flycatcher Pied Kingfisher Oriental Turtle-Dove Tricolored Munia Malabar Gray Hornbill Short-toed Snake-Eagle Southern Hill Myna Himalayan Bulbul Common Iora Greenish Warbler Bay-backed Shrike Greater Coucal Gray Wagtail Indian Gray Hornbill Red Spurfowl Stork-billed Kingfisher Bronze-winged Jacana Orange Minivet Red-wattled Lapwing Pale-billed Flowerpecker Jungle Prinia Eurasian Kestrel Asian Openbill Indian Golden Oriole Red-whiskered Bulbul White Wagtail Booted Warbler Kentish Plover Gray-fronted Green-Pigeon Jungle Owlet Long-tailed Shrike House Sparrow white egret sp. Rufous Woodpecker Hair-crested Drongo Malabar Woodshrike Ashy Drongo Plain Prinia Indian Silverbill Siberian Stonechat Green/Greenish Warbler Rufous Treepie Brown-headed Barbet Gray Junglefowl Little Stint Osprey Pied Cuckoo Little Ringed Plover Garganey Coppersmith Barbet Black Bulbul Spot-billed Pelican Asian Brown Flycatcher Oriental Magpie-Robin Booted Eagle Common Tailorbird Malabar Barbet sunbird sp. Tawny-bellied Babbler Pheasant-tailed Jacana cormorant sp. Lesser Whitethroat Rock Pigeon Temminck's Stint Gray Heron Asian Emerald Dove Black Eagle Yellow-footed Pigeon Gray-headed Swamphen White-cheeked Barbet Paddyfield Pipit Asian Fairy-bluebird Little Swift Common Snipe Western Yellow Wagtail Yellow-eyed Babbler Asian Koel White-browed Fantail Crested Serpent-Eagle Common Redshank Laughing Dove Indian Spot-billed Duck Blyth's Reed-Warbler White-browed Bulbul Ashy-crowned Sparrow-Lark Black Redstart Rufous Babbler Jerdon's Leafbird Red-vented Bulbul Green-winged Teal Green Sandpiper Indian Cormorant Rosy Starling Pied Bushchat Black-tailed Godwit Indian Pond-Heron Brown Shrike Eurasian Hoopoe Hume's Warbler Indian Scimitar-Babbler Golden-fronted Leafbird crow sp. Plum-headed Parakeet White-eyed Buzzard Crimson-backed Sunbird Lesser Whistling-Duck Nilgiri Flowerpecker Little Spiderhunter Black-rumped Flameback Malabar Starling Barn Swallow Gray-breasted Prinia Eurasian Moorhen Cotton Pygmy-Goose Shikra Taiga Flycatcher Purple Sunbird Black-headed Cuckooshrike Chestnut-tailed Starling Spotted Owlet Indian Pitta Eurasian Collared-Dove Ashy Prinia Marsh Sandpiper Brahminy Starling Clamorous Reed-Warbler Black-shouldered Kite River Tern Brahminy Kite Gray Francolin Brown-headed Gull Chestnut-shouldered Petronia Greater Flameback Common Hawk-Cuckoo Gray-hooded Warbler Oriental Honey-buzzard Common Sandpiper Indian Swiftlet Red-rumped Swallow Scaly-breasted Munia Black-naped Monarch Blue-tailed Bee-eater Cinereous Tit Purple Heron Wire-tailed Swallow White-browed Wagtail Gray-headed Canary-Flycatcher Indian Peafowl Gray Bushchat Asian Palm-Swift White-rumped Munia Puff-throated Babbler Wood Sandpiper Malabar Whistling-Thrush Yellow-billed Babbler Brown-cheeked Fulvetta Indian Roller White-bellied Drongo Bronzed Drongo Black-headed Ibis Dark-fronted Babbler Flame-throated Bulbul Great Cormorant Northern Pintail Black Kite Gull-billed Tern Bar-headed Goose Northern Shoveler Red Avadavat Common Myna Citrine Wagtail Oriental Darter Large Gray Babbler Common Babbler Ruddy Shelduck Glossy Ibis Indian Paradise-Flycatcher Indian Robin Large Cuckooshrike Black Drongo Jungle Myna Green Bee-eater Whiskered Tern Blue Whistling-Thrush Striated Heron Gadwall Yellow-wattled Lapwing Little Egret Orange-headed Thrush Little Grebe Rose-ringed Parakeet Rufous-tailed Lark White-throated Kingfisher Red-naped Ibis Yellow-browed Bulbul Spot-breasted Fantail Black-winged Stilt Black-crowned Night-Heron Long-billed Sunbird Malabar Parakeet Indian Chat Jerdon's Bushlark Red Collared-Dove Lesser Sand-Plover House Crow White-rumped Shama Cattle Egret Bar-winged Flycatcher-shrike Malabar Trogon Greater Racket-tailed Drongo Common Greenshank Asian Pied Starling Black-hooded Oriole Woolly-necked Stork Blue-throated Barbet Oriental Skylark Intermediate Egret Dusky Crag-Martin Little Cormorant Zitting Cisticola White-throated Fantail Eurasian Coot Jungle Babbler White-breasted Waterhen Small Minivet Vernal Hanging-Parrot Common Kingfisher Purple-rumped Sunbird Great Barbet Spotted Dove Velvet-fronted Nuthatch Common Woodshrike

Once the geography has been separated out, one can see that habitats dominate. On the left end are clearly waterbirds, on the right it appears that we have birds that are in forested areas.

Concluding remarks:

Given the limitations of the present e-bird data, it is clear that we cannot go much beyond this - indeed only the geographical regions and habitats that have the greatest impact on birds are visible. Nevertheless we speculate on analysis that can be done with more data of the same nature.

  • We can look for species A and B such that

    • A and B are close in the force-directed graph, but
    • A and B do not co-occur as much as expected given their proximity.

    such species are likely to be occupying the same niche.

    • As mentioned in the introduction, one can naturally partition into geographical regions, habitats and even micro-habitats, with geographical region clustering based on geodata as well as clustering of co-occurences.