Anstatt die traditionellen, historisch definierten Grenzen der Weltmeere zu verwenden, lasse ich einen Clustering-Algorithmus allein anhand der Geometrie entscheiden, wie sie aufgeteilt werden.

Die Methode: Ich habe mithilfe einer Fibonacci-Spirale ca. 80.000 Punkte generiert, die gleichmäßig über die Erdoberfläche verteilt sind (wobei ich die polare Überabtastung vermieden habe, die man von einem regulären Lat/Lon-Gitter erhält). Nachdem alle Punkte an Land herausgefiltert wurden, blieben etwa 57.000 Meerespunkte übrig. Ich habe sie in kartesischen 3D-Koordinaten auf eine Einheitskugel projiziert und K-Means-Clustering mit k=7 ausgeführt.

Es ist interessant, die Ergebnisse mit den herkömmlichen Ozeangrenzen zu vergleichen. Der Algorithmus teilt den Atlantik in zwei Regionen (Nord und Süd) auf und der Indische Ozean bleibt ein Cluster. Der Pazifik, der mit Abstand größte Ozean, ist in vier Regionen unterteilt: Norden, Süden, Osten und Westen.

Verwendete Tools: Python, scikit-learn, cartopy (Robinson-Projektion), global-land-mask, numpy.

Von 1000_bucks_a_month

14 Kommentare

  1. Riuchando420 on

    interesting but you get some oddities where part of the gulf of mexico is apart of a primarily pacific ocean sea

  2. Is it even stable? Like what do you get if you rerun it a few times? How do centroids behave? Do they land in similar points or not really? And how does it depend on the method to choose initial centroids?

    Also what about 4 oceans not 7 seas?

  3. Ignoring sailing distance and just taking pure distance is probably the biggest failure point you have here.

    Suez and Panama should 100% be boundaries of things, and yet they both leak seas.

  4. On one hand the Yellow Sea is in the yellow sea. On the other hand, the Red Sea is not in the red sea.

  5. Why not density based clustering? Partitioning algorithms are good for convex shaped clusters and it shows here.

  6. Atlantic Ocean, Arctic Ocean, Indian Ocean, Pacific, Pacific, Pacific, and Pacific Ocean lol

  7. dylantherabbit2016 on

    Cyan: North Atlantic Ocean

    Blue: South Atlantic Ocean

    Pink: American Ocean

    Red: Hawaiian Ocean

    Brown: Indian Ocean

    Yellow: Asian Ocean

    Orange: Oceanic Ocean (Australian Ocean if that’s too confusing)

Leave A Reply