GEE Tutorial #31 - Machine Learning with Earth Engine - Unsupervised Classification
HTML-код
- Опубликовано: 26 авг 2024
- This tutorial shows you how to perform unsupervised classification (e.g., KMeans clustering) in Earth Engine.
GitHub: github.com/gis...
Blog: blog.gishub.org
Twitter: / giswqs
Thank you Prof Wu, I enjoy your explanation. Very clear and easy to follow.
Outstanding material and clear illustration, I like the tutorial so much!!
Thank you so much.
The training sample point dataset is not homogenously distributed in the defined region when using Landsat 5 or Landsat 7. The clustering result is generated on and around the scattered clusters of training points only, not for the whole image. Does anyone else experienced the same issue?
Thanks so much for the amazing tutorials!
Bro u'r the man !!! Thanks 4 u time ! Go ahead, greetings from Ecuador!
Thank you sir, this one very usefull
thank for this video is very helpful so can you make a video for computing area with each class after classification
Hi professor, I have a problem with Make the training dataset. points dont visualisé in the map. Thanks
Hi prof. Wu. First of all I want to thank you a lot for sharing your knowledge with all of us. The question is: how can I apply evaluation metrics to see the classification accuracy with unsupervised learning?
This video tutorial is really useful. Thank you for the tutorial. Would you please make a tutorial on the Integration of (LandTrendr and GNN approach) for biomass modeling in python?
Thanks for the suggestion. LandTrendr and time-series analysis are on my to-do-list, but it might take a few weeks before I can get into this. Stay tuned.
Hi professor, I have a question, I want to calculate the crop area after clustering in 20 regions, but I cannot specify the exact cluster that belongs to crops for calculating the area based on the index of clusters. Is there any way to fix the clusters indices to put them in a loop and have area results?
Hello Mr. Wu... can you give me solution how to run wekaKMeans function to NDVI time series (image collection). I want to make cluster of agriculture cropping pattern. Because all of tutorial i have seen only run clustering function to a single image
Hi Prof. Wu, many thanks for your tutorials. I'm trying to do classification using Sentinel2 data which has nonconsecutive band names such as B8A. I was wondering how I can adapt '.select('B[1-7]')' to accommondate nonconsecutive band names? Thanks.
You can select nonconsective bands like select(['B4', 'B5', 'B6', 'B8A', 'B11'])
Dear professor I have a question. Wich technique is better for large area classification for example for the whole country. Supervised or un supervised. If supervised then witch algorithm of supervised is better for a large area. Looking forward.
If you have training data, you can use supervised classification. Otherwise, you can use unsupervised classification.
I have a question. I can not find the 'image_props' in the geemap,
as the error : AttributeError: module 'geemap' has no attribute 'image_props'
Update geemap to the latest version using *geemap.update_package()*
Hi Prof. Wu, I have NDVI,NBR,NDMI as a training data how to do unsupervised classification from the data using Weka clustering
Create an image with the indices as individual bands and then use the same procedure shown in this tutorial.
Thanks for the awesome tutorial. Is there a way to select the latest available image, or say view a list of dates and then select image of a specific date?
Yes, you can. Checking out GEE Lesson 9 - Getting Started with Earth Engine Image Collection ruclips.net/video/3vOCLZUs3XI/видео.html
@@giswqs Thank you very much! This is so helpful.
@@giswqs I have another question, if I want to do landcover classifications for a larger area which includes two or three satellite images (different tiles covering the entire spatial extent), is there a way with geemap to mask these images first and then do the landcover classification? What do you suggest?
Thanks Dr. Wu. You showed one image being classified by unsupervised classification, does the code also be able to classify other images with in the given time range automatically? if so how can we download all those classified outcomes?
You can mosaic the images to do classification. To download, see geemap.org/notebooks/11_export_image/
@@giswqs thanks for your reply, but i was asking about classifying time series imagery for a given area using machine learning!! i said running classification using python code getting multiple classified outputs. Cheer
Great video, thank you! I have a problem. It classified the lake and a very green orchard in the same cluster. The error is in orchard classification. I tried to increase the number of clusters and it becomes correct when I have 10 clusters, but that's too many clusters, I don't need them all. Do you have any suggestions?
You might want to try out supervised classification ruclips.net/video/qWaEfgWi21o/видео.html
@@giswqs Looks like I'll have to...Thank you
Thank you very much for the tutorials, a lot to learn!!!. I was wondering, how could I train the cluster with more than just one image?, I have an stational wetland that increases and decreases it's water surface over year, o there are not many "water pixels" in some images
You can use as many images as you need. It is the same procedure.
@@giswqs u mean repeat the process for each image?. What if I want to do a cluster of all images at once?, I mean, use the training data for all images simultaneously so the clasification its the same for all images ?
@@gonzalophd Check out supervised classification ruclips.net/video/qWaEfgWi21o/видео.html
Thank you so much!. How can I export a particular layer of the clustering?
geemap.ee_export_image()
See github.com/giswqs/geemap/blob/master/examples/notebooks/31_unsupervised_classification.ipynb
@@giswqs Yes, but that exports all the cluster clasification, what if I just want to export the class that represents "water" ?
You need to find out which cluster represents water, then use
geemap.ee_export_image(result.eq(water_cluster_value).selfMask(), filename=out_file, scale=90)