聚類或無監督分類是根據統計相似性將圖像的像素值分組或聚合到一定數量的自然類(組)的過程。在本教程中,我們將使用rasterio進行sentinel-2圖像處理,并使用功能強大的完整scikit-learn python 包在jupyter Notebook中進行聚類。
Scikit-learn是一個用于 Python 編程語言的免費軟件機器學習庫,其中包含各種分類、回歸和聚類算法。要安裝此軟件包:
conda install -c anaconda scikit-learn
Rasterio是一個開源 Python 庫,可以讀取和寫入柵格數據集,例如 GEOTIFF 和 JP2 等不同格式的衛星圖像和地形模型。
conda install -c conda-forge rasterio
算法: Scikit-learn有不同的聚類算法,這些算法可以直接im從集群子庫移植。K-均值是最常用的算法之一聚類中的thms因其簡單性而被采用。它基本上將 n 個觀測值(在我們的例子中為像素值)劃分為 k 個簇(用戶預定義的類數),其中每個觀測值屬于具有最接近平均值的簇。本教程將基于 K 均值,但您可以輕松切換以嘗試其余部分,代碼幾乎保持不變,但您只需要更改算法。
蘇丹杰濟拉州 El-hasaheesa 和 Elmanagel 地區的 Sentinel-2 圖像將在本教程中分別用于訓練和預測。這些數據和本教程的完整代碼可以在 github 上找到