Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Προσδιορίστε δάση μαγκρόβων χρησιμοποιώντας χαρακτηριστικά δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και τον αυτόματο πιλότο του Amazon SageMaker – Μέρος 2

Τα μαγκρόβια δάση αποτελούν μέρος εισαγωγής ενός υγιούς οικοσυστήματος και οι ανθρώπινες δραστηριότητες είναι ένας από τους κύριους λόγους για τη σταδιακή εξαφάνισή τους από τις ακτές σε όλο τον κόσμο. Η χρήση ενός μοντέλου μηχανικής μάθησης (ML) για τον εντοπισμό περιοχών μαγγροβίων από μια δορυφορική εικόνα δίνει στους ερευνητές έναν αποτελεσματικό τρόπο παρακολούθησης του μεγέθους των δασών με την πάροδο του χρόνου. Σε Μέρος 1 αυτής της σειράς, δείξαμε πώς να συλλέγουμε δορυφορικά δεδομένα με αυτοματοποιημένο τρόπο και να τα αναλύουμε Στούντιο Amazon SageMaker με διαδραστική οπτικοποίηση. Σε αυτήν την ανάρτηση, δείχνουμε πώς να το χρησιμοποιήσετε Αυτόματος πιλότος Amazon SageMaker για την αυτοματοποίηση της διαδικασίας κατασκευής ενός προσαρμοσμένου ταξινομητή μαγγρόβια.

Εκπαιδεύστε ένα μοντέλο με αυτόματο πιλότο

Το Autopilot παρέχει έναν ισορροπημένο τρόπο κατασκευής πολλών μοντέλων και επιλογής του καλύτερου. Ενώ δημιουργεί πολλαπλούς συνδυασμούς διαφορετικών τεχνικών προεπεξεργασίας δεδομένων και μοντέλων ML με ελάχιστη προσπάθεια, ο Autopilot παρέχει πλήρη έλεγχο αυτών των βημάτων στοιχείων στον επιστήμονα δεδομένων, εάν το επιθυμεί.

Μπορείτε να χρησιμοποιήσετε τον Αυτόματο πιλότο χρησιμοποιώντας ένα από τα AWS SDK (λεπτομέρειες είναι διαθέσιμες στο Οδηγός αναφοράς API για αυτόματο πιλότο) ή μέσω του Studio. Χρησιμοποιούμε Autopilot στη λύση Studio μας ακολουθώντας τα βήματα που περιγράφονται σε αυτήν την ενότητα:

  1. Στη σελίδα Studio Launcher, επιλέξτε το σύμβολο συν για Νέο πείραμα αυτόματου πιλότου.
    Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  2. Για Συνδέστε τα δεδομένα σας, Επιλέξτε Βρείτε τον κάδο S3και εισαγάγετε το όνομα του κάδου όπου κρατήσατε τα σύνολα δεδομένων εκπαίδευσης και δοκιμής.
  3. Για Όνομα αρχείου συνόλου δεδομένων, εισαγάγετε το όνομα του αρχείου δεδομένων εκπαίδευσης που δημιουργήσατε στο Προετοιμάστε τα δεδομένα εκπαίδευσης ενότητα στο Μέρος 1.
  4. Για Θέση δεδομένων εξόδου (κάδος S3), εισαγάγετε το ίδιο όνομα κάδου που χρησιμοποιήσατε στο βήμα 2.
  5. Για Όνομα καταλόγου συνόλου δεδομένων, εισαγάγετε ένα όνομα φακέλου κάτω από τον κάδο όπου θέλετε ο Autopilot να αποθηκεύει τεχνουργήματα.
  6. Για Είναι η είσοδος S3 αρχείο δήλωσης;, επιλέξτε Εκτός.
  7. Για στόχος, επιλέξτε επιγραφή.
  8. Για Αυτόματη ανάπτυξη, επιλέξτε Εκτός.
    Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  9. Σύμφωνα με το Ρυθμίσεις για προχωρημένους, Για Τύπος προβλήματος μηχανικής μάθησης, επιλέξτε Δυαδική Ταξινόμηση.
  10. Για Αντικειμενική μέτρηση, επιλέξτε AUC.
  11. Για Επιλέξτε πώς θα εκτελέσετε το πείραμά σας, επιλέξτε Όχι, εκτελέστε ένα πιλοτικό πρόγραμμα για να δημιουργήσετε ένα σημειωματάριο με ορισμούς υποψηφίων.
  12. Επιλέξτε Δημιουργία πειράματος.
    Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
    Για περισσότερες πληροφορίες σχετικά με τη δημιουργία ενός πειράματος, ανατρέξτε στο Δημιουργήστε ένα πείραμα αυτόματου πιλότου του Amazon SageMaker.Μπορεί να χρειαστούν περίπου 15 λεπτά για να εκτελέσετε αυτό το βήμα.
  13. Όταν ολοκληρωθεί, επιλέξτε Ανοιχτό σημειωματάριο γενιάς υποψηφίων, το οποίο ανοίγει ένα νέο σημειωματάριο σε λειτουργία μόνο για ανάγνωση.
    Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  14. Επιλέξτε Εισαγωγή σημειωματάριου για να κάνετε το σημειωματάριο επεξεργάσιμο.
    Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  15. Για την εικόνα, επιλέξτε Επιστήμη δεδομένων.
  16. Για Πυρήνας, επιλέξτε Python 3.
  17. Επιλέξτε Αγορά.
    Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Αυτό το σημειωματάριο που δημιουργείται αυτόματα έχει λεπτομερείς εξηγήσεις και παρέχει πλήρη έλεγχο της πραγματικής εργασίας κατασκευής μοντέλου που πρέπει να ακολουθήσετε. Μια προσαρμοσμένη έκδοση του σημειωματάριο, όπου ένας ταξινομητής εκπαιδεύεται χρησιμοποιώντας ζώνες δορυφόρων Landsat από το 2013, είναι διαθέσιμος στο αποθετήριο κωδικών κάτω από notebooks/mangrove-2013.ipynb.

Το πλαίσιο κατασκευής μοντέλου αποτελείται από δύο μέρη: το μετασχηματισμό χαρακτηριστικών ως μέρος του βήματος επεξεργασίας δεδομένων και τη βελτιστοποίηση υπερπαραμέτρων (HPO) ως μέρος του βήματος επιλογής μοντέλου. Όλα τα απαραίτητα αντικείμενα για αυτές τις εργασίες δημιουργήθηκαν κατά τη διάρκεια του πειράματος Αυτόματου πιλότου και αποθηκεύτηκαν Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3). Το πρώτο κελί φορητού υπολογιστή κατεβάζει αυτά τα τεχνουργήματα από το Amazon S3 στο τοπικό Amazon Sage Maker σύστημα αρχείων για έλεγχο και κάθε απαραίτητη τροποποίηση. Υπάρχουν δύο φάκελοι: generated_module και sagemaker_automl, όπου αποθηκεύονται όλες οι λειτουργικές μονάδες Python και τα σενάρια που είναι απαραίτητα για την εκτέλεση του notebook. Τα διάφορα βήματα μετασχηματισμού χαρακτηριστικών, όπως ο καταλογισμός, η κλιμάκωση και το PCA αποθηκεύονται ως generated_modules/candidate_data_processors/dpp*.py.

Ο αυτόματος πιλότος δημιουργεί τρία διαφορετικά μοντέλα που βασίζονται στους αλγόριθμους XGBoost, γραμμικής εκμάθησης και perceptron πολλαπλών επιπέδων (MLP). Ένας υποψήφιος αγωγός αποτελείται από μία από τις επιλογές μετασχηματισμού χαρακτηριστικών, γνωστή ως data_transformerκαι έναν αλγόριθμο. Το pipeline είναι ένα λεξικό Python και μπορεί να οριστεί ως εξής:

candidate1 = { "data_transformer": { "name": "dpp5", "training_resource_config": { "instance_type": "ml.m5.4xlarge", "instance_count": 1, "volume_size_in_gb": 50 }, "transform_resource_config": { "instance_type": "ml.m5.4xlarge", "instance_count": 1, }, "transforms_label": True, "transformed_data_format": "application/x-recordio-protobuf", "sparse_encoding": True }, "algorithm": { "name": "xgboost", "training_resource_config": { "instance_type": "ml.m5.4xlarge", "instance_count": 1, }, }
}

Σε αυτό το παράδειγμα, η διοχέτευση μετασχηματίζει τα δεδομένα εκπαίδευσης σύμφωνα με το σενάριο στο generated_modules/candidate_data_processors/dpp5.py και κατασκευάζει ένα μοντέλο XGBoost. Εδώ ο Autopilot παρέχει πλήρη έλεγχο στον επιστήμονα δεδομένων, ο οποίος μπορεί να επιλέξει τα βήματα μετασχηματισμού χαρακτηριστικών που δημιουργούνται αυτόματα και επιλογής μοντέλου ή να δημιουργήσει τον δικό του συνδυασμό.

Μπορείτε τώρα να προσθέσετε τη διοχέτευση σε μια πισίνα για τον Αυτόματο πιλότο να εκτελέσει το πείραμα ως εξής:

from sagemaker_automl import AutoMLInteractiveRunner, AutoMLLocalCandidate automl_interactive_runner = AutoMLInteractiveRunner(AUTOML_LOCAL_RUN_CONFIG)
automl_interactive_runner.select_candidate(candidate1)

Αυτό είναι ένα σημαντικό βήμα όπου μπορείτε να αποφασίσετε να διατηρήσετε μόνο ένα υποσύνολο υποψηφίων που προτείνει ο Autopilot, με βάση την εξειδίκευση στο θέμα, για να μειώσετε το συνολικό χρόνο εκτέλεσης. Προς το παρόν, διατηρήστε όλες τις προτάσεις Autopilot, τις οποίες μπορείτε να απαριθμήσετε ως εξής:

automl_interactive_runner.display_candidates()

Όνομα Υποψηφίου Αλγόριθμος Χαρακτηριστικός μετασχηματιστής
dpp0-xgboost xgboost dpp0.py
dpp1-xgboost xgboost dpp1.py
dpp2-γραμμικός-μαθητής γραμμικός-μαθητής dpp2.py
dpp3-xgboost xgboost dpp3.py
dpp4-xgboost xgboost dpp4.py
dpp5-xgboost xgboost dpp5.py
dpp6-mlp mlp dpp6.py

Το πλήρες πείραμα Autopilot γίνεται σε δύο μέρη. Πρώτα, πρέπει να εκτελέσετε τις εργασίες μετασχηματισμού δεδομένων:

automl_interactive_runner.fit_data_transformers(parallel_jobs=7)

Αυτό το βήμα θα πρέπει να ολοκληρωθεί σε περίπου 30 λεπτά για όλους τους υποψηφίους, εάν δεν κάνετε περαιτέρω τροποποιήσεις στο dpp*.py αρχεία.

Το επόμενο βήμα είναι να δημιουργήσετε το καλύτερο σύνολο μοντέλων ρυθμίζοντας τις υπερπαραμέτρους για τους αντίστοιχους αλγόριθμους. Οι υπερπαράμετροι συνήθως χωρίζονται σε δύο μέρη: στατικές και συντονίσιμες. Οι στατικές υπερπαράμετροι παραμένουν αμετάβλητες σε όλο το πείραμα για όλους τους υποψήφιους που μοιράζονται τον ίδιο αλγόριθμο. Αυτές οι υπερπαράμετροι περνούν στο πείραμα ως λεξικό. Εάν επιλέξετε να επιλέξετε το καλύτερο μοντέλο XGBoost μεγιστοποιώντας την AUC από τρεις γύρους ενός πενταπλάσιου σχήματος διασταυρούμενης επικύρωσης, το λεξικό μοιάζει με τον ακόλουθο κώδικα:

{ 'objective': 'binary:logistic', 'eval_metric': 'auc', '_kfold': 5, '_num_cv_round': 3,
} 

Για τις συντονίσιμες υπερπαραμέτρους, πρέπει να περάσετε ένα άλλο λεξικό με εύρη και τύπο κλιμάκωσης:

{ 'num_round': IntegerParameter(64, 1024, scaling_type='Logarithmic'), 'max_depth': IntegerParameter(2, 8, scaling_type='Logarithmic'), 'eta': ContinuousParameter(1e-3, 1.0, scaling_type='Logarithmic'),
... }

Το πλήρες σύνολο των υπερπαραμέτρων είναι διαθέσιμο στο mangrove-2013.ipynb σημειωματάριο.

Για να δημιουργήσετε ένα πείραμα όπου και οι επτά υποψήφιοι μπορούν να δοκιμαστούν παράλληλα, δημιουργήστε έναν δέκτη HPO πολλαπλών αλγορίθμων:

multi_algo_tuning_parameters = automl_interactive_runner.prepare_multi_algo_parameters( objective_metrics=ALGORITHM_OBJECTIVE_METRICS, static_hyperparameters=STATIC_HYPERPARAMETERS, hyperparameters_search_ranges=ALGORITHM_TUNABLE_HYPERPARAMETER_RANGES)

Οι αντικειμενικές μετρήσεις ορίζονται ανεξάρτητα για κάθε αλγόριθμο:

ALGORITHM_OBJECTIVE_METRICS = { 'xgboost': 'validation:auc', 'linear-learner': 'validation:roc_auc_score', 'mlp': 'validation:roc_auc',
}

Η δοκιμή όλων των πιθανών τιμών των υπερπαραμέτρων για όλα τα πειράματα είναι σπάταλη. μπορείτε να υιοθετήσετε μια Bayesian στρατηγική για να δημιουργήσετε έναν δέκτη HPO:

multi_algo_tuning_inputs = automl_interactive_runner.prepare_multi_algo_inputs()
ase_tuning_job_name = "{}-tuning".format(AUTOML_LOCAL_RUN_CONFIG.local_automl_job_name) tuner = HyperparameterTuner.create( base_tuning_job_name=base_tuning_job_name, strategy='Bayesian', objective_type='Maximize', max_parallel_jobs=10, max_jobs=50, **multi_algo_tuning_parameters,
)

Στην προεπιλεγμένη ρύθμιση, ο Αυτόματος πιλότος επιλέγει 250 εργασίες στο δέκτη για να επιλέξει το καλύτερο μοντέλο. Για αυτήν την περίπτωση χρήσης, αρκεί η ρύθμιση max_jobs=50 για εξοικονόμηση χρόνου και πόρων, χωρίς καμία σημαντική ποινή όσον αφορά την επιλογή του καλύτερου συνόλου υπερπαραμέτρων. Τέλος, υποβάλετε την εργασία HPO ως εξής:

tuner.fit(inputs=multi_algo_tuning_inputs, include_cls_metadata=None)

Η διαδικασία διαρκεί περίπου 80 λεπτά σε ml.m5.4x μεγάλες περιπτώσεις. Μπορείτε να παρακολουθείτε την πρόοδο στην κονσόλα SageMaker επιλέγοντας Εργασίες συντονισμού υπερπαραμέτρων υπό Εκπαίδευση στο παράθυρο πλοήγησης.

Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Μπορείτε να οπτικοποιήσετε μια σειρά από χρήσιμες πληροφορίες, συμπεριλαμβανομένης της απόδοσης κάθε υποψηφίου, επιλέγοντας το όνομα της εργασίας σε εξέλιξη.

Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Τέλος, συγκρίνετε την απόδοση του μοντέλου των καλύτερων υποψηφίων ως εξής:

from sagemaker.analytics import HyperparameterTuningJobAnalytics SAGEMAKER_SESSION = AUTOML_LOCAL_RUN_CONFIG.sagemaker_session
SAGEMAKER_ROLE = AUTOML_LOCAL_RUN_CONFIG.role tuner_analytics = HyperparameterTuningJobAnalytics( tuner.latest_tuning_job.name, sagemaker_session=SAGEMAKER_SESSION) df_tuning_job_analytics = tuner_analytics.dataframe() df_tuning_job_analytics.sort_values( by=['FinalObjectiveValue'], inplace=True, ascending=False if tuner.objective_type == "Maximize" else True) # select the columns to display and rename
select_columns = ["TrainingJobDefinitionName", "FinalObjectiveValue", "TrainingElapsedTimeSeconds"]
rename_columns = { "TrainingJobDefinitionName": "candidate", "FinalObjectiveValue": "AUC", "TrainingElapsedTimeSeconds": "run_time" } # Show top 5 model performances
df_tuning_job_analytics.rename(columns=rename_columns)[rename_columns.values()].set_index("candidate").head(5)

υποψήφιος AUC run_time (s)
dpp6-mlp 0.96008 2711.0
dpp4-xgboost 0.95236 385.0
dpp3-xgboost 0.95095 202.0
dpp4-xgboost 0.95069 458.0
dpp3-xgboost 0.95015 361.0

Το μοντέλο κορυφαίας απόδοσης που βασίζεται στο MLP, αν και οριακά καλύτερο από τα μοντέλα XGBoost με διάφορες επιλογές σταδίων επεξεργασίας δεδομένων, χρειάζεται επίσης πολύ περισσότερο χρόνο για να εκπαιδευτεί. Μπορείτε να βρείτε σημαντικές λεπτομέρειες σχετικά με το μοντέλο εκπαίδευσης MLP, συμπεριλαμβανομένου του συνδυασμού των υπερπαραμέτρων που χρησιμοποιούνται, ως εξής:

df_tuning_job_analytics.loc[df_tuning_job_analytics.TrainingJobName==best_training_job].T.dropna() 

TrainingJobName mangrove-2-notebook–211021-2016-012-500271c8
Κατάσταση Εργασίας Κατάρτισης Ολοκληρώθηκε το
ΤελικήΤιμήΣτόχου 0.96008
TrainingStartTime 2021-10-21 20:22:55+00:00
TrainingEndTime 2021-10-21 21:08:06+00:00
TrainingElapsedTimeSeconds 2711
TrainingJobDefinitionName dpp6-mlp
dropout_prob 0.415778
embedding_size_factor 0.849226
στρώματα 256
βαθμός μάθησης 0.00013862
mini_batch_size 317
Τύπος δικτύου τροφοδοσία προς τα εμπρός
βάρος_αποσύνθεσης 1.29323e-12

Δημιουργήστε μια διοχέτευση συμπερασμάτων

Για να δημιουργήσετε συμπεράσματα σε νέα δεδομένα, πρέπει να δημιουργήσετε μια διοχέτευση συμπερασμάτων στο SageMaker για να φιλοξενήσει το καλύτερο μοντέλο που μπορεί να κληθεί αργότερα για τη δημιουργία συμπερασμάτων. Το μοντέλο διοχέτευσης του SageMaker απαιτεί τρία δοχεία ως συστατικά του: μετασχηματισμό δεδομένων, αλγόριθμο και μετασχηματισμό αντίστροφης ετικέτας (εάν οι αριθμητικές προβλέψεις πρέπει να αντιστοιχιστούν σε μη αριθμητικές ετικέτες). Για συντομία, μόνο μέρος του απαιτούμενου κώδικα εμφανίζεται στο παρακάτω απόσπασμα. ο πλήρης κωδικός είναι διαθέσιμος στο mangrove-2013.ipynb σημειωματάριο:

from sagemaker.estimator import Estimator
from sagemaker import PipelineModel
from sagemaker_automl import select_inference_output …
# Final pipeline model model_containers = [best_data_transformer_model, best_algo_model]
if best_candidate.transforms_label: model_containers.append(best_candidate.get_data_transformer_model( transform_mode="inverse-label-transform", role=SAGEMAKER_ROLE, sagemaker_session=SAGEMAKER_SESSION)) # select the output type
model_containers = select_inference_output("BinaryClassification", model_containers, output_keys=['predicted_label'])

Αφού κατασκευαστούν τα κοντέινερ μοντέλων, μπορείτε να κατασκευάσετε και να αναπτύξετε τον αγωγό ως εξής:

from sagemaker import PipelineModel pipeline_model = PipelineModel( name=f"mangrove-automl-2013", role=SAGEMAKER_ROLE, models=model_containers, vpc_config=AUTOML_LOCAL_RUN_CONFIG.vpc_config) pipeline_model.deploy(initial_instance_count=1, instance_type='ml.m5.2xlarge', endpoint_name=pipeline_model.name, wait=True)

Η ανάπτυξη του τελικού σημείου διαρκεί περίπου 10 λεπτά για να ολοκληρωθεί.

Λάβετε συμπεράσματα για το σύνολο δεδομένων δοκιμής χρησιμοποιώντας ένα τελικό σημείο

Αφού αναπτυχθεί το τελικό σημείο, μπορείτε να το επικαλέσετε με ένα ωφέλιμο φορτίο χαρακτηριστικών B1–B7 για να ταξινομήσετε κάθε pixel σε μια εικόνα είτε ως mangrove (1) είτε ως other (0):

import boto3
sm_runtime = boto3.client('runtime.sagemaker') pred_labels = []
with open(local_download, 'r') as f: for i, row in enumerate(f): payload = row.rstrip('n') x = sm_runtime.invoke_endpoint(EndpointName=inf_endpt, ContentType="text/csv", Body=payload) pred_labels.append(int(x['Body'].read().decode().strip()))

Πλήρεις λεπτομέρειες σχετικά με την μετεπεξεργασία των προβλέψεων μοντέλων για αξιολόγηση και σχεδίαση είναι διαθέσιμες στο notebooks/model_performance.ipynb.

Λάβετε συμπεράσματα για το σύνολο δεδομένων δοκιμής χρησιμοποιώντας έναν μετασχηματισμό παρτίδας

Τώρα που δημιουργήσατε το μοντέλο με τις καλύτερες επιδόσεις με τον Autopilot, μπορούμε να χρησιμοποιήσουμε το μοντέλο για συμπέρασμα. Για να λάβετε συμπεράσματα για μεγάλα σύνολα δεδομένων, είναι πιο αποτελεσματικό να χρησιμοποιήσετε έναν μετασχηματισμό παρτίδας. Ας δημιουργήσουμε προβλέψεις για ολόκληρο το σύνολο δεδομένων (εκπαίδευση και δοκιμή) και ας προσαρτήσουμε τα αποτελέσματα στα χαρακτηριστικά, έτσι ώστε να μπορούμε να κάνουμε περαιτέρω ανάλυση για, για παράδειγμα, να ελέγξουμε τα προβλεπόμενα σε σχέση με τα πραγματικά και την κατανομή των χαρακτηριστικών μεταξύ των προβλεπόμενων κλάσεων.

Αρχικά, δημιουργούμε ένα αρχείο δήλωσης στο Amazon S3 που δείχνει τις θέσεις των δεδομένων εκπαίδευσης και δοκιμής από τα προηγούμενα βήματα επεξεργασίας δεδομένων:

import boto3
data_bucket = <Name of the S3 bucket that has the training data>
prefix = "LANDSAT_LC08_C01_T1_SR/Year2013"
manifest = "[{{"prefix": "s3://{}/{}/"}},n"train.csv",n"test.csv"n]".format(data_bucket, prefix)
s3_client = boto3.client('s3')
s3_client.put_object(Body=manifest, Bucket=data_bucket, Key=f"{prefix}/data.manifest")

Τώρα μπορούμε να δημιουργήσουμε μια εργασία μετασχηματισμού παρτίδας. Επειδή το τρένο εισόδου μας και το σύνολο δεδομένων δοκιμής έχουν label ως τελευταία στήλη, πρέπει να την απορρίψουμε κατά την εξαγωγή συμπερασμάτων. Για να το κάνουμε αυτό, περνάμε InputFilter στο DataProcessing διαφωνία. Ο κώδικας "$[:-2]" υποδεικνύει την απόρριψη της τελευταίας στήλης. Στη συνέχεια, η προβλεπόμενη έξοδος ενώνεται με τα δεδομένα πηγής για περαιτέρω ανάλυση.

Στον παρακάτω κώδικα, κατασκευάζουμε τα ορίσματα για την εργασία μετασχηματισμού παρτίδας και μετά περνάμε στο create_transform_job λειτουργία:

from time import gmtime, strftime batch_job_name = "Batch-Transform-" + strftime("%Y-%m-%d-%H-%M-%S", gmtime())
output_location = "s3://{}/{}/batch_output/{}".format(data_bucket, prefix, batch_job_name)
input_location = "s3://{}/{}/data.manifest".format(data_bucket, prefix) request = { "TransformJobName": batch_job_name, "ModelName": pipeline_model.name, "TransformOutput": { "S3OutputPath": output_location, "Accept": "text/csv", "AssembleWith": "Line", }, "TransformInput": { "DataSource": {"S3DataSource": {"S3DataType": "ManifestFile", "S3Uri": input_location}}, "ContentType": "text/csv", "SplitType": "Line", "CompressionType": "None", }, "TransformResources": {"InstanceType": "ml.m4.xlarge", "InstanceCount": 1}, "DataProcessing": {"InputFilter": "$[:-2]", "JoinSource": "Input"}
} sagemaker = boto3.client("sagemaker")
sagemaker.create_transform_job(**request)
print("Created Transform job with name: ", batch_job_name)

Μπορείτε να παρακολουθείτε την κατάσταση της εργασίας στην κονσόλα SageMaker.

Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Οπτικοποιήστε την απόδοση του μοντέλου

Τώρα μπορείτε να απεικονίσετε την απόδοση του καλύτερου μοντέλου στο δοκιμαστικό σύνολο δεδομένων, που αποτελείται από περιοχές από την Ινδία, τη Μιανμάρ, την Κούβα και το Βιετνάμ, ως πίνακα σύγχυσης. Το μοντέλο έχει υψηλή τιμή ανάκλησης για pixel που αντιπροσωπεύουν μαγγρόβια, αλλά μόνο περίπου 75% ακρίβεια. Η ακρίβεια των μη μαγγροβίων ή άλλων pixel είναι 99% με ανάκληση 85%. Μπορείτε να συντονίσετε την αποκοπή πιθανότητας των προβλέψεων του μοντέλου για να προσαρμόσετε τις αντίστοιχες τιμές ανάλογα με τη συγκεκριμένη περίπτωση χρήσης.

Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Αξίζει να σημειωθεί ότι τα αποτελέσματα είναι μια σημαντική βελτίωση σε σχέση με το ενσωματωμένο μοντέλο smileCart.

Οπτικοποιήστε προβλέψεις μοντέλων

Τέλος, είναι χρήσιμο να παρατηρήσετε την απόδοση του μοντέλου σε συγκεκριμένες περιοχές του χάρτη. Στην παρακάτω εικόνα, η περιοχή των μαγκρόβων στα σύνορα Ινδίας-Μπανγκλαντές απεικονίζεται με κόκκινο χρώμα. Τα σημεία που λήφθηκαν δειγματοληπτικά από την ενημερωμένη έκδοση κώδικα εικόνας Landsat που ανήκουν στο σύνολο δεδομένων δοκιμής υπερτίθενται στην περιοχή, όπου κάθε σημείο είναι ένα pixel που το μοντέλο καθορίζει ότι αντιπροσωπεύει τα μαγγρόβια. Τα μπλε σημεία ταξινομούνται σωστά από το μοντέλο, ενώ τα μαύρα σημεία αντιπροσωπεύουν λάθη του μοντέλου.

Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Η παρακάτω εικόνα δείχνει μόνο τα σημεία που το μοντέλο προέβλεψε ότι δεν αντιπροσωπεύουν τα μαγγρόβια, με τον ίδιο χρωματικό συνδυασμό με το προηγούμενο παράδειγμα. Το γκρι περίγραμμα είναι το τμήμα του εμπλάστρου Landsat που δεν περιλαμβάνει μαγγρόβια. Όπως φαίνεται από την εικόνα, το μοντέλο δεν κάνει κανένα λάθος ταξινομώντας σημεία στο νερό, αλλά αντιμετωπίζει μια πρόκληση όταν διακρίνει τα pixel που αντιπροσωπεύουν τα μαγγρόβια από αυτά που αντιπροσωπεύουν το κανονικό φύλλωμα.

Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Η παρακάτω εικόνα δείχνει την απόδοση του μοντέλου στην περιοχή των μαγγροβίων της Μιανμάρ.

Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Στην παρακάτω εικόνα, το μοντέλο κάνει καλύτερη δουλειά εντοπίζοντας τα pixel μαγγρόβια.

Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

εκκαθάριση

Το τελικό σημείο συμπερασμάτων SageMaker συνεχίζει να επιβαρύνει το κόστος εάν παραμείνει σε λειτουργία. Διαγράψτε το τελικό σημείο ως εξής όταν τελειώσετε:

sagemaker.delete_endpoint(EndpointName=pipeline_model.name)

Συμπέρασμα

Αυτή η σειρά αναρτήσεων παρείχε ένα ολοκληρωμένο πλαίσιο για τους επιστήμονες δεδομένων για την επίλυση προβλημάτων GIS. Μέρος 1 έδειξε τη διαδικασία ETL και έναν βολικό τρόπο οπτικής αλληλεπίδρασης με τα δεδομένα. Το Μέρος 2 έδειξε πώς να χρησιμοποιήσετε τον Αυτόματο πιλότο για την αυτοματοποίηση της κατασκευής ενός προσαρμοσμένου ταξινομητή μαγγρόβια.

Μπορείτε να χρησιμοποιήσετε αυτό το πλαίσιο για να εξερευνήσετε νέα δορυφορικά σύνολα δεδομένων που περιέχουν ένα πλουσιότερο σύνολο ζωνών χρήσιμων για την ταξινόμηση των μαγγροβίων και να εξερευνήσετε τη μηχανική χαρακτηριστικών ενσωματώνοντας γνώσεις τομέα.


Σχετικά με τους Συγγραφείς

Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται. Αντρέι Ιβάνοβιτς είναι ένας εισερχόμενος φοιτητής μεταπτυχιακού τίτλου Επιστήμης Υπολογιστών στο Πανεπιστήμιο του Τορόντο και πρόσφατος πτυχιούχος του προγράμματος Μηχανικών Επιστήμης στο Πανεπιστήμιο του Τορόντο, με ειδικότητα στη Μηχανική Νοημοσύνη με κατώτερο πτυχίο Ρομποτικής/Μηχατρονικής. Ενδιαφέρεται για την όραση υπολογιστών, τη βαθιά μάθηση και τη ρομποτική. Έκανε τη δουλειά που παρουσιάζεται σε αυτή τη θέση κατά τη διάρκεια της καλοκαιρινής πρακτικής του στο Amazon.

Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Ντέιβιντ Ντονγκ είναι Επιστήμονας Δεδομένων στο Amazon Web Services.

Προσδιορίστε τα δάση μαγκρόβων χρησιμοποιώντας λειτουργίες δορυφορικής εικόνας χρησιμοποιώντας το Amazon SageMaker Studio και το Amazon SageMaker Autopilot – Μέρος 2 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Αρκαγιώτη Μίσρα είναι Επιστήμονας Δεδομένων στο Amazon LastMile Transportation. Είναι παθιασμένος με την εφαρμογή τεχνικών Computer Vision για την επίλυση προβλημάτων που βοηθούν τη γη. Του αρέσει να συνεργάζεται με μη κερδοσκοπικούς οργανισμούς και είναι ιδρυτικό μέλος ekipi.org.

Σφραγίδα ώρας:

Περισσότερα από Μηχανική εκμάθηση AWS