अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.

अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2

मैंग्रोव वन एक स्वस्थ पारिस्थितिकी तंत्र का एक महत्वपूर्ण हिस्सा हैं, और मानव गतिविधियाँ दुनिया भर के समुद्र तटों से उनके धीरे-धीरे गायब होने के प्रमुख कारणों में से एक हैं। एक उपग्रह छवि से मैंग्रोव क्षेत्रों की पहचान करने के लिए मशीन लर्निंग (एमएल) मॉडल का उपयोग करने से शोधकर्ताओं को समय के साथ जंगलों के आकार की निगरानी करने का एक प्रभावी तरीका मिल जाता है। में भाग 1 इस श्रृंखला में, हमने दिखाया कि उपग्रह डेटा को एक स्वचालित फैशन में कैसे इकट्ठा किया जाए और इसका विश्लेषण कैसे किया जाए अमेज़ॅन सैजमेकर स्टूडियो इंटरैक्टिव विज़ुअलाइज़ेशन के साथ। इस पोस्ट में, हम दिखाते हैं कि कैसे उपयोग करें अमेज़ॅन सैजमेकर ऑटोपायलट एक कस्टम मैंग्रोव क्लासिफायरियर बनाने की प्रक्रिया को स्वचालित करने के लिए।

ऑटोपायलट के साथ एक मॉडल को प्रशिक्षित करें

ऑटोपायलट कई मॉडल बनाने और सबसे अच्छे मॉडल का चयन करने का एक संतुलित तरीका प्रदान करता है। न्यूनतम प्रयास के साथ विभिन्न डेटा प्रीप्रोसेसिंग तकनीकों और एमएल मॉडल के कई संयोजनों का निर्माण करते हुए, ऑटोपायलट वांछित होने पर डेटा वैज्ञानिक को इन घटक चरणों पर पूर्ण नियंत्रण प्रदान करता है।

आप AWS SDK में से किसी एक का उपयोग करके ऑटोपायलट का उपयोग कर सकते हैं (विवरण में उपलब्ध है ऑटोपायलट के लिए एपीआई संदर्भ गाइड) या स्टूडियो के माध्यम से। हम इस खंड में उल्लिखित चरणों का पालन करते हुए अपने स्टूडियो समाधान में ऑटोपायलट का उपयोग करते हैं:

  1. स्टूडियो लॉन्चर पृष्ठ पर, के लिए धन चिह्न चुनें नया ऑटोपायलट प्रयोग.
    अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.
  2. के लिए अपना डेटा कनेक्ट करें, चुनते हैं S3 बाल्टी खोजें, और उस बकेट नाम को दर्ज करें जहां आपने प्रशिक्षण और परीक्षण डेटासेट रखे थे।
  3. के लिए डेटासेट फ़ाइल का नाम, आपके द्वारा बनाई गई प्रशिक्षण डेटा फ़ाइल का नाम दर्ज करें प्रशिक्षण डेटा तैयार करें अनुभाग में भाग 1.
  4. के लिए आउटपुट डेटा स्थान (S3 बकेट), वही बकेट नाम दर्ज करें जिसका उपयोग आपने चरण 2 में किया था।
  5. के लिए डेटासेट निर्देशिका का नाम, बकेट के नीचे एक फ़ोल्डर नाम दर्ज करें जहाँ आप चाहते हैं कि ऑटोपायलट कलाकृतियों को संग्रहीत करे।
  6. के लिए क्या आपका S3 इनपुट एक मेनिफेस्ट फ़ाइल है?, चुनें बंद.
  7. के लिए लक्ष्य, चुनें लेबल.
  8. के लिए ऑटो परिनियोजन, चुनें बंद.
    अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.
  9. के नीचे उन्नत सेटिंगके लिए, मशीन सीखने की समस्या का प्रकार, चुनें बाइनरी वर्गीकरण.
  10. के लिए उद्देश्य मीट्रिक, चुनें एयूसी.
  11. के लिए अपना प्रयोग चलाने का तरीका चुनें, चुनें नहीं, उम्मीदवार की परिभाषाओं वाली नोटबुक बनाने के लिए एक पायलट चलाएँ.
  12. चुनें प्रयोग बनाएँ.
    अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.
    प्रयोग बनाने के बारे में अधिक जानकारी के लिए देखें Amazon SageMaker Autopilot प्रयोग बनाएं.इस चरण को चलाने में लगभग 15 मिनट लग सकते हैं।
  13. पूरा होने पर, चुनें ओपन उम्मीदवार पीढ़ी नोटबुक, जो रीड ओनली मोड में एक नई नोटबुक खोलता है।
    अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.
  14. चुनें आयात नोटबुक नोटबुक को संपादन योग्य बनाने के लिए।
    अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.
  15. छवि के लिए, चुनें डाटा विज्ञान.
  16. के लिए गुठली, चुनें अजगर 3.
  17. चुनें चुनते हैं.
    अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.

इस ऑटो-जेनरेटेड नोटबुक में विस्तृत स्पष्टीकरण हैं और वास्तविक मॉडल निर्माण कार्य पर पूर्ण नियंत्रण प्रदान करता है। का एक अनुकूलित संस्करण नोटबुक, जहां 2013 से लैंडसैट उपग्रह बैंड का उपयोग करके एक क्लासिफायरियर को प्रशिक्षित किया जाता है, कोड रिपॉजिटरी में उपलब्ध है notebooks/mangrove-2013.ipynb.

मॉडल बिल्डिंग फ्रेमवर्क में दो भाग होते हैं: डेटा प्रोसेसिंग स्टेप के हिस्से के रूप में फीचर ट्रांसफॉर्मेशन, और मॉडल सिलेक्शन स्टेप के हिस्से के रूप में हाइपरपैरामीटर ऑप्टिमाइज़ेशन (HPO)। इन कार्यों के लिए सभी आवश्यक कलाकृतियों को ऑटोपायलट प्रयोग के दौरान बनाया गया था और इसमें सहेजा गया था अमेज़न सरल भंडारण सेवा (अमेज़ॅन एस 3)। पहला नोटबुक सेल उन कलाकृतियों को Amazon S3 से स्थानीय में डाउनलोड करता है अमेज़न SageMaker निरीक्षण और किसी भी आवश्यक संशोधन के लिए फाइल सिस्टम। दो फ़ोल्डर हैं: generated_module और sagemaker_automl, जहां नोटबुक चलाने के लिए आवश्यक सभी पायथन मॉड्यूल और स्क्रिप्ट संग्रहीत हैं। विभिन्न फीचर ट्रांसफॉर्मेशन स्टेप्स जैसे इंप्यूटेशन, स्केलिंग और पीसीए को इस तरह सेव किया जाता है generated_modules/candidate_data_processors/dpp*.py.

ऑटोपायलट XGBoost, लीनियर लर्नर और मल्टी-लेयर परसेप्ट्रॉन (MLP) एल्गोरिदम के आधार पर तीन अलग-अलग मॉडल बनाता है। एक उम्मीदवार पाइपलाइन में फीचर ट्रांसफॉर्मेशन विकल्पों में से एक होता है, जिसे जाना जाता है data_transformer, और एक एल्गोरिथ्म। एक पाइपलाइन एक पायथन शब्दकोश है और इसे निम्नानुसार परिभाषित किया जा सकता है:

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 मॉडल बनाता है। यह वह जगह है जहां ऑटोपायलट डेटा वैज्ञानिक को पूर्ण नियंत्रण प्रदान करता है, जो स्वचालित रूप से उत्पन्न सुविधा परिवर्तन और मॉडल चयन चरणों को चुन सकता है या अपना संयोजन बना सकता है।

अब आप ऑटोपायलट के प्रयोग को निम्नानुसार चलाने के लिए पूल में पाइपलाइन जोड़ सकते हैं:

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

यह एक महत्वपूर्ण कदम है जहां आप ऑटोपायलट द्वारा सुझाए गए उम्मीदवारों के केवल एक सबसेट को विषय वस्तु विशेषज्ञता के आधार पर, कुल रनटाइम को कम करने के लिए रखने का निर्णय ले सकते हैं। अभी के लिए, सभी ऑटोपायलट सुझाव रखें, जिन्हें आप निम्नानुसार सूचीबद्ध कर सकते हैं:

automl_interactive_runner.display_candidates()

प्रत्याशी का नाम कलन विधि फ़ीचर ट्रांसफार्मर
dpp0-xgboost xgboost डीपीपी0.py
dpp1-xgboost xgboost डीपीपी1.py
dpp2-रैखिक-शिक्षार्थी रैखिक-शिक्षार्थी डीपीपी2.py
dpp3-xgboost xgboost डीपीपी3.py
dpp4-xgboost xgboost डीपीपी4.py
dpp5-xgboost xgboost डीपीपी5.py
डीपीपी6-एमएलपी MLP डीपीपी6.py

पूर्ण ऑटोपायलट प्रयोग दो भागों में किया जाता है। सबसे पहले, आपको डेटा परिवर्तन कार्य चलाने की आवश्यकता है:

automl_interactive_runner.fit_data_transformers(parallel_jobs=7)

यह चरण सभी उम्मीदवारों के लिए लगभग 30 मिनट में पूरा हो जाना चाहिए, यदि आप इसमें कोई और संशोधन नहीं करते हैं dpp*.py फाइलें.

अगला कदम संबंधित एल्गोरिदम के लिए हाइपरपैरामीटर को ट्यून करके मॉडल का सबसे अच्छा सेट बनाना है। हाइपरपैरामीटर आमतौर पर दो भागों में विभाजित होते हैं: स्थिर और ट्यून करने योग्य। समान एल्गोरिथम साझा करने वाले सभी उम्मीदवारों के लिए स्थिर हाइपरपैरामीटर पूरे प्रयोग के दौरान अपरिवर्तित रहते हैं। इन हाइपरपैरामीटर को एक शब्दकोश के रूप में प्रयोग के लिए पास किया जाता है। यदि आप पांच गुना क्रॉस-सत्यापन योजना के तीन राउंड से AUC को अधिकतम करके सर्वश्रेष्ठ XGBoost मॉडल चुनना चुनते हैं, तो शब्दकोश निम्न कोड जैसा दिखता है:

{ '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 नोटबुक.

एक प्रयोग बनाने के लिए जहां सभी सात उम्मीदवारों का समानांतर में परीक्षण किया जा सकता है, एक बहु-एल्गोरिदम एचपीओ ट्यूनर बनाएं:

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',
}

सभी प्रयोगों के लिए हाइपरपैरामीटर के सभी संभावित मूल्यों की कोशिश करना बेकार है; आप एचपीओ ट्यूनर बनाने के लिए बायेसियन रणनीति अपना सकते हैं:

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 हाइपरपैरामीटर का सबसे अच्छा सेट चुनने के मामले में बिना किसी महत्वपूर्ण दंड के, समय और संसाधनों को बचाने के लिए। अंत में, एचपीओ जॉब इस प्रकार जमा करें:

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

ml.m80xबड़े उदाहरणों पर प्रक्रिया में लगभग 5.4 मिनट लगते हैं। आप चुनकर सेजमेकर कंसोल पर प्रगति की निगरानी कर सकते हैं हाइपरपैरामीटर ट्यूनिंग कार्य के अंतर्गत प्रशिक्षण नेविगेशन फलक में

अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.

आप कार्य का प्रगति पर नाम चुनकर, प्रत्येक उम्मीदवार के प्रदर्शन सहित कई उपयोगी जानकारी की कल्पना कर सकते हैं।

अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.

अंत में, सर्वश्रेष्ठ उम्मीदवारों के मॉडल प्रदर्शन की तुलना इस प्रकार करें:

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)

उम्मीदवार एयूसी रन_टाइम
डीपीपी6-एमएलपी 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 मॉडल से थोड़ा बेहतर है, इसे प्रशिक्षित करने में भी बहुत अधिक समय लगता है। आप एमएलपी मॉडल प्रशिक्षण के बारे में महत्वपूर्ण विवरण प्राप्त कर सकते हैं, जिसमें उपयोग किए गए हाइपरपैरामीटर का संयोजन शामिल है, जो निम्नानुसार है:

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

प्रशिक्षणकार्य का नाम mangrove-2-notebook–211021-2016-012-500271c8
प्रशिक्षण नौकरी की स्थिति पूरा
अंतिम उद्देश्य मूल्य 0.96008
प्रशिक्षण प्रारंभ समय 2021-10-21 20:22:55+00:00
प्रशिक्षणअंतिम समय 2021-10-21 21:08:06+00:00
प्रशिक्षणबीता हुआसमयसेकंड 2711
प्रशिक्षणकार्यपरिभाषानाम डीपीपी6-एमएलपी
ड्रॉपआउट_प्रोब 0.415778
एम्बेडिंग_साइज_फैक्टर 0.849226
परतों 256
सीखने की दर 0.00013862
मिनी_बैच_साइज़ 317
नेटवर्क प्रकार खिला हुआ
weight_deay 1.29323e-+०००२३६२८६१

एक अनुमान पाइपलाइन बनाएँ

नए डेटा पर अनुमान उत्पन्न करने के लिए, आपको सबसे अच्छे मॉडल की मेजबानी करने के लिए सेजमेकर पर एक अनुमान पाइपलाइन का निर्माण करना होगा जिसे बाद में अनुमान उत्पन्न करने के लिए कहा जा सकता है। सेजमेकर पाइपलाइन मॉडल को इसके घटकों के रूप में तीन कंटेनरों की आवश्यकता होती है: डेटा परिवर्तन, एल्गोरिथ्म, और उलटा लेबल परिवर्तन (यदि संख्यात्मक भविष्यवाणियों को गैर-संख्यात्मक लेबल पर मैप करने की आवश्यकता होती है)। संक्षिप्तता के लिए, आवश्यक कोड का केवल एक भाग निम्नलिखित स्निपेट में दिखाया गया है; पूरा कोड में उपलब्ध है 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 मिनट लगते हैं।

एंडपॉइंट का उपयोग करके परीक्षण डेटासेट पर अनुमान प्राप्त करें

एंडपॉइंट तैनात होने के बाद, आप छवि में प्रत्येक पिक्सेल को मैंग्रोव (1) या अन्य (7) के रूप में वर्गीकृत करने के लिए सुविधाओं के पेलोड बी 1-बी 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.

बैच ट्रांसफ़ॉर्म का उपयोग करके परीक्षण डेटासेट पर अनुमान प्राप्त करें

अब जब आपने ऑटोपायलट के साथ सबसे अच्छा प्रदर्शन करने वाला मॉडल बना लिया है, तो हम अनुमान के लिए मॉडल का उपयोग कर सकते हैं। बड़े डेटासेट पर अनुमान प्राप्त करने के लिए, बैच ट्रांसफ़ॉर्म का उपयोग करना अधिक कुशल है। आइए संपूर्ण डेटासेट (प्रशिक्षण और परीक्षण) पर भविष्यवाणियां उत्पन्न करें और परिणामों को सुविधाओं में जोड़ें, ताकि हम आगे का विश्लेषण कर सकें, उदाहरण के लिए, पूर्वानुमानित बनाम वास्तविक और पूर्वानुमानित वर्गों के बीच सुविधाओं के वितरण की जांच करें।

सबसे पहले, हम 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)

आप सेजमेकर कंसोल पर नौकरी की स्थिति की निगरानी कर सकते हैं।

अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.

मॉडल प्रदर्शन की कल्पना करें

अब आप परीक्षण डेटासेट पर सर्वश्रेष्ठ मॉडल के प्रदर्शन की कल्पना कर सकते हैं, जिसमें भारत, म्यांमार, क्यूबा और वियतनाम के क्षेत्रों को एक भ्रम मैट्रिक्स के रूप में शामिल किया गया है। मैंग्रोव का प्रतिनिधित्व करने वाले पिक्सल के लिए मॉडल में उच्च रिकॉल वैल्यू है, लेकिन केवल लगभग 75% सटीक है। गैर-मैंग्रोव या अन्य पिक्सेल की सटीकता 99% रिकॉल के साथ 85% है। आप विशेष उपयोग के मामले के आधार पर संबंधित मूल्यों को समायोजित करने के लिए मॉडल भविष्यवाणियों की संभाव्यता कटऑफ को ट्यून कर सकते हैं।

अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.

अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.

यह ध्यान देने योग्य है कि परिणाम बिल्ट-इन स्माइलकार्ट मॉडल पर एक महत्वपूर्ण सुधार हैं।

मॉडल भविष्यवाणियों की कल्पना करें

अंत में, मानचित्र पर विशिष्ट क्षेत्रों पर मॉडल के प्रदर्शन का निरीक्षण करना उपयोगी होता है। निम्नलिखित छवि में, भारत-बांग्लादेश सीमा में मैंग्रोव क्षेत्र को लाल रंग में दर्शाया गया है। परीक्षण डेटासेट से संबंधित लैंडसैट छवि पैच से लिए गए बिंदुओं को उस क्षेत्र पर आरोपित किया जाता है, जहां प्रत्येक बिंदु एक पिक्सेल होता है जिसे मॉडल मैंग्रोव का प्रतिनिधित्व करने के लिए निर्धारित करता है। नीले बिंदुओं को मॉडल द्वारा सही ढंग से वर्गीकृत किया जाता है, जबकि काले बिंदु मॉडल द्वारा गलतियों का प्रतिनिधित्व करते हैं।

अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.

निम्नलिखित छवि केवल उन बिंदुओं को दिखाती है जो मॉडल ने मैंग्रोव का प्रतिनिधित्व नहीं करने की भविष्यवाणी की थी, पिछले उदाहरण के समान रंग योजना के साथ। ग्रे आउटलाइन लैंडसैट पैच का हिस्सा है जिसमें कोई मैंग्रोव शामिल नहीं है। जैसा कि छवि से स्पष्ट है, मॉडल पानी पर बिंदुओं को वर्गीकृत करने में कोई गलती नहीं करता है, लेकिन नियमित पर्णसमूह का प्रतिनिधित्व करने वाले मैंग्रोव का प्रतिनिधित्व करने वाले पिक्सेल को अलग करते समय एक चुनौती का सामना करता है।

अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.

निम्नलिखित छवि म्यांमार मैंग्रोव क्षेत्र पर मॉडल प्रदर्शन दिखाती है।

अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.

निम्न छवि में, मॉडल मैंग्रोव पिक्सेल की पहचान करने के लिए बेहतर कार्य करता है।

अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.

क्लीन अप

सेजमेकर इंट्रेंस एंडपॉइंट की लागत जारी रहती है अगर इसे छोड़ दिया जाए। जब आप कर लें तो समापन बिंदु को इस प्रकार हटाएं:

sagemaker.delete_endpoint(EndpointName=pipeline_model.name)

निष्कर्ष

पोस्ट की इस श्रृंखला ने जीआईएस समस्याओं को हल करने के लिए डेटा वैज्ञानिकों के लिए एक एंड-टू-एंड फ्रेमवर्क प्रदान किया। भाग 1 ईटीएल प्रक्रिया और डेटा के साथ दृष्टिगत रूप से बातचीत करने का एक सुविधाजनक तरीका दिखाया। भाग 2 में दिखाया गया है कि कस्टम मैंग्रोव क्लासिफायरियर के निर्माण को स्वचालित करने के लिए ऑटोपायलट का उपयोग कैसे करें।

आप इस ढांचे का उपयोग मैंग्रोव वर्गीकरण के लिए उपयोगी बैंड के एक समृद्ध सेट वाले नए उपग्रह डेटासेट का पता लगाने के लिए कर सकते हैं और डोमेन ज्ञान को शामिल करके फीचर इंजीनियरिंग का पता लगा सकते हैं।


लेखक के बारे में

अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ. आंद्रेई इवानोविच टोरंटो विश्वविद्यालय में कंप्यूटर विज्ञान के छात्र के आने वाले मास्टर हैं और हाल ही में टोरंटो विश्वविद्यालय में इंजीनियरिंग विज्ञान कार्यक्रम के स्नातक हैं, रोबोटिक्स / मेक्ट्रोनिक्स नाबालिग के साथ मशीन इंटेलिजेंस में पढ़ाई कर रहे हैं। उन्हें कंप्यूटर विज़न, डीप लर्निंग और रोबोटिक्स में दिलचस्पी है। इस पोस्ट में प्रस्तुत कार्य उन्होंने अमेज़न पर अपनी ग्रीष्मकालीन इंटर्नशिप के दौरान किया।

अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.डेविड डोंगो अमेज़न वेब सर्विसेज में डेटा साइंटिस्ट हैं।

अमेज़ॅन सेजमेकर स्टूडियो और अमेज़ॅन सेजमेकर ऑटोपायलट का उपयोग करके उपग्रह छवि सुविधाओं का उपयोग करके मैंग्रोव वनों की पहचान करें - भाग 2 प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.अर्कज्योति मिश्रा अमेज़न लास्टमाइल ट्रांसपोर्टेशन में डेटा साइंटिस्ट हैं। वह पृथ्वी की मदद करने वाली समस्याओं को हल करने के लिए कंप्यूटर विज़न तकनीकों को लागू करने का शौक रखते हैं। वह गैर-लाभकारी संगठनों के साथ काम करना पसंद करता है और इसके संस्थापक सदस्य हैं ekipi.org.

समय टिकट:

से अधिक AWS मशीन लर्निंग