إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على:
Python SDK azure-ai-ml v2 (الحالي)
في هذا البرنامج التعليمي، سوف تتعلّم:
- تحميل بياناتك إلى التخزين السحابي
- إنشاء أصل بيانات Azure التعلم الآلي
- الوصول إلى بياناتك في دفتر ملاحظات للتطوير التفاعلي
- إنشاء إصدارات جديدة من أصول البيانات
يبدأ مشروع التعلم الآلي عادة بتحليل البيانات الاستكشافية (EDA) ، والمعالجة المسبقة للبيانات (التنظيف ، وهندسة الميزات) ، وبناء نماذج أولية لنموذج التعلم الآلي للتحقق من صحة الفرضيات. مرحلة مشروع النماذج الأولية هذه تفاعلية للغاية وتفسح المجال للتطوير في IDE أو دفتر ملاحظات Jupyter مع وحدة تحكم تفاعلية Python. يصف هذا البرنامج التعليمي هذه المفاهيم.
المتطلبات الأساسية
-
لاستخدام التعلم الآلي من Azure، تحتاج إلى مساحة عمل. إذا لم يكن لديك واحد، فأكمل إنشاء الموارد التي تحتاجها للبدء في إنشاء مساحة عمل ومعرفة المزيد حول استخدامها.
هام
إذا تم تكوين مساحة عمل التعلم الآلي من Azure باستخدام شبكة ظاهرية مدارة، فقد تحتاج إلى إضافة قواعد صادرة للسماح بالوصول إلى مستودعات حزمة Python العامة. لمزيد من المعلومات، راجع السيناريو: الوصول إلى حزم التعلم الآلي العامة.
-
سجل الدخول إلى الاستوديو وحدد مساحة العمل إذا لم تكن مفتوحة بالفعل.
-
افتح دفتر ملاحظات أو أنشئه في مساحة العمل:
- إذا كنت تريد نسخ التعليمات البرمجية ولصقها في الخلايا، فبادر بإنشاء دفتر ملاحظات جديد.
- أو افتح البرامج التعليمية/get-started-notebooks/explore-data.ipynb من قسم Samples في studio. ثم حدد استنساخ لإضافة دفتر الملاحظات إلى ملفاتك. للعثور على نماذج دفاتر الملاحظات، راجع التعلم من نماذج دفاتر الملاحظات.
تعيين النواة وفتحها في تعليمة Visual Studio برمجية (VS Code)
في الشريط العلوي أعلى دفتر الملاحظات المفتوح، أنشئ مثيل حساب إذا لم يكن لديك مثيل بالفعل.
إذا تم إيقاف مثيل الحساب، فحدد Start compute وانتظر حتى يتم تشغيله.
انتظر حتى يتم تشغيل مثيل الحساب. ثم تأكد من أن النواة، الموجودة في أعلى اليمين، هي
Python 3.10 - SDK v2. إذا لم يكن الأمر كما هو، فاستخدم القائمة المنسدلة لتحديد هذا النواة.إذا كنت لا ترى هذا النواة، فتحقق من تشغيل مثيل الحساب الخاص بك. إذا كان الأمر كذلك، فحدد الزر تحديث في الجزء العلوي الأيسر من دفتر الملاحظات.
إذا رأيت شعارا يشير إلى أنك بحاجة إلى المصادقة، فحدد المصادقة.
يمكنك تشغيل دفتر الملاحظات هنا، أو فتحه في VS Code لبيئة تطوير متكاملة كاملة (IDE) مع قوة موارد Azure التعلم الآلي. حدد فتح في VS Code، ثم حدد خيار الويب أو سطح المكتب. عند تشغيله بهذه الطريقة، يتم إرفاق VS Code بمثيل الحساب الخاص بك، والنواة، ونظام ملفات مساحة العمل.
هام
يحتوي باقي هذا البرنامج التعليمي على خلايا دفتر ملاحظات البرنامج التعليمي. انسخها والصقها في دفتر الملاحظات الجديد، أو قم بالتبديل إلى دفتر الملاحظات الآن إذا قمت باستنساخه.
تنزيل البيانات المستخدمة في هذا البرنامج التعليمي
لاستيعاب البيانات، يعالج Azure Data Explorer (Kusto) البيانات الأولية بهذه التنسيقات. يستخدم هذا البرنامج التعليمي نموذج بيانات عميل بطاقة الائتمان بتنسيق CSV. تتم الخطوات في مورد التعلم الآلي من Microsoft Azure. في هذا المورد، يمكنك إنشاء مجلد محلي بالاسم المقترح للبيانات، أسفل المجلد الذي يوجد به دفتر الملاحظات هذا.
ملاحظة
يعتمد هذا البرنامج التعليمي على البيانات الموضوعة في موقع مجلد مورد Azure التعلم الآلي. بالنسبة لهذا البرنامج التعليمي، يعني "محلي" موقع مجلد في مورد Azure التعلم الآلي هذا.
حدد Open terminal أسفل النقاط الثلاث، كما هو موضح في هذه الصورة:
تفتح نافذة المحطة الطرفية في علامة تبويب جديدة.
تأكد من تغيير الدليل (
cd) إلى نفس المجلد الذي يوجد به دفتر الملاحظات هذا. على سبيل المثال، إذا كان دفتر الملاحظات في مجلد يسمى get-started-notebooks:cd get-started-notebooks # modify this to the path where your notebook is locatedأدخل هذه الأوامر في نافذة المحطة الطرفية لنسخ البيانات إلى مثيل الحساب الخاص بك:
mkdir data cd data # the subfolder where you'll store the data wget https://azuremlexamples.blob.core.windows.net/datasets/credit_card/default_of_credit_card_clients.csvيمكنك الآن إغلاق نافذة المحطة الطرفية.
لمزيد من المعلومات حول البيانات في مستودع التعلم الآلي UC Irvine، تفضل بزيارة هذا المورد.
إنشاء مقبض إلى مساحة العمل
قبل استكشاف الكود ، تحتاج إلى طريقة للإشارة إلى مساحة العمل الخاصة بك. يمكنك الإنشاء ml_client كمقبض لمساحة العمل. ثم تستخدم ml_client لإدارة الموارد والوظائف.
في الخلية التالية، أدخل معرف الاشتراك واسم مجموعة الموارد واسم مساحة العمل. للعثور على هذه القيم:
- في شريط أدوات أستوديو Azure Machine Learning العلوي الأيمن، حدد اسم مساحة العمل الخاصة بك.
- انسخ قيمة مساحة العمل ومجموعة الموارد ومعرف الاشتراك في التعليمات البرمجية.
- يجب نسخ كل قيمة على حدة، واحدة تلو الأخرى. أغلق المنطقة، والصق القيمة، ثم تابع إلى القيم التالية.
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential, InteractiveBrowserCredential
from azure.ai.ml.entities import Data
from azure.ai.ml.constants import AssetTypes
# authenticate
try:
credential = DefaultAzureCredential()
credential.get_token("https://management.azure.com/.default")
except Exception:
credential = InteractiveBrowserCredential()
# Get a handle to the workspace
ml_client = MLClient(
credential=credential,
subscription_id="<SUBSCRIPTION_ID>",
resource_group_name="<RESOURCE_GROUP>",
workspace_name="<AML_WORKSPACE_NAME>",
)
ملاحظة
لن يتصل إنشاء MLClient بمساحة العمل. تهيئة العميل بطيئة وتنتظر للمرة الأولى التي يحتاج فيها إلى إجراء مكالمة. يحدث هذا في خلية التعليمات البرمجية التالية.
تحميل البيانات إلى التخزين السحابي
يستخدم Azure التعلم الآلي معرفات الموارد الموحدة (URIs)، التي تشير إلى مواقع التخزين في السحابة. يسهل URI الوصول إلى البيانات في دفاتر الملاحظات والمهام. تتشابه تنسيقات عنوان URI للبيانات مع عناوين URL للويب التي تستخدمها في متصفح الويب للوصول إلى صفحات الويب. على سبيل المثال:
- الوصول إلى البيانات من خادم https العام:
https://<account_name>.blob.core.windows.net/<container_name>/<folder>/<file> - الوصول إلى البيانات من Azure Data Lake Gen 2:
abfss://<file_system>@<account_name>.dfs.core.windows.net/<folder>/<file>
يشبه أصل بيانات Azure التعلم الآلي الإشارات المرجعية لمستعرض الويب (المفضلة). بدلا من تذكر مسارات التخزين الطويلة (URIs) التي تشير إلى بياناتك الأكثر استخداما، يمكنك إنشاء أصل بيانات ثم الوصول إلى هذا الأصل باسم مألوف.
ينشئ إنشاء أصول البيانات أيضا مرجعا إلى موقع مصدر البيانات، جنبا إلى جنب مع نسخة من بيانات التعريف الخاصة به. نظرا لأن البيانات تظل في موقعها الحالي، فإنك لا تتحمل أي تكلفة تخزين إضافية ولا تخاطر بتكامل مصدر البيانات. يمكنك إنشاء أصول البيانات من مخازن بيانات التعلم الآلي من Microsoft Azure وتخزين Azure وعناوين URL العامة والملفات المحلية.
تلميح
بالنسبة لعمليات تحميل البيانات الأصغر، يعمل إنشاء أصول بيانات التعلم الآلي من Microsoft Azure بشكل جيد لتحميل البيانات من موارد الجهاز المحلي إلى التخزين السحابي. يتجنب هذا النهج الحاجة إلى أدوات أو أدوات مساعدة إضافية. ومع ذلك ، قد تتطلب عمليات تحميل البيانات الأكبر أداة أو أداة مساعدة مخصصة - على سبيل المثال ، azcopy. تنقل أداة سطر الأوامر azcopy البيانات من وإلى تخزين Azure. لمزيد من المعلومات حول azcopy، راجع بدء استخدام AzCopy.
تنشئ خلية دفتر الملاحظات التالية أصل البيانات. يقوم نموذج التعليمات البرمجية بتحميل ملف البيانات الأولية إلى مورد التخزين السحابي المعين.
في كل مرة تقوم فيها بإنشاء أصل بيانات، تحتاج إلى إصدار فريد له. إذا كان الإصدار موجودا بالفعل، فستحصل على خطأ. في هذا الرمز ، يمكنك استخدام "initial" للقراءة الأولى للبيانات. إذا كان هذا الإصدار موجودا بالفعل، فلن يعيد الرمز إنشائه.
يمكنك أيضا حذف معلمة الإصدار . في هذه الحالة ، يتم إنشاء رقم إصدار لك ، بدءا من 1 وزيادة من هناك.
يستخدم هذا البرنامج التعليمي الاسم "الأولي" كإصدار أول. يستخدم البرنامج التعليمي إنشاء مسارات التعلم الآلي للإنتاج أيضا هذا الإصدار من البيانات، لذلك يمكنك استخدام قيمة تراها مرة أخرى في هذا البرنامج التعليمي.
from azure.ai.ml.entities import Data
from azure.ai.ml.constants import AssetTypes
# Update the 'my_path' variable to match the location of where you downloaded the data on your
# local filesystem
my_path = "./data/default_of_credit_card_clients.csv"
# Set the version number of the data asset
v1 = "initial"
my_data = Data(
name="credit-card",
version=v1,
description="Credit card data",
path=my_path,
type=AssetTypes.URI_FILE,
)
## Create data asset if it doesn't already exist:
try:
data_asset = ml_client.data.get(name="credit-card", version=v1)
print(
f"Data asset already exists. Name: {my_data.name}, version: {my_data.version}"
)
except:
ml_client.data.create_or_update(my_data)
print(f"Data asset created. Name: {my_data.name}, version: {my_data.version}")
لفحص البيانات التي تم تحميلها، اختر البيانات في قسم مواد العرض في قائمة التنقل اليمنى. يتم تحميل البيانات وإنشاء أصل بيانات:
تسمى هذه البيانات بطاقة الائتمان. في علامة التبويب أصول البيانات ، يمكنك رؤيتها في عمود الاسم .
مخزن بيانات Azure التعلم الآلي هو مرجع إلى حساب تخزين موجود على Azure. يوفر مخزن البيانات هذه المزايا:
واجهة برمجة تطبيقات شائعة وسهلة الاستخدام للتفاعل مع أنواع التخزين المختلفة:
- Azure Data Lake Storage Gen2
- كائن ثنائي كبير الحجم
- الملفات
وأساليب المصادقة.
طريقة أسهل لاكتشاف مخازن البيانات المفيدة عند العمل كفريق.
في البرامج النصية، طريقة لإخفاء معلومات الاتصال للوصول إلى البيانات المستندة إلى بيانات الاعتماد (كيان الخدمة/SAS/المفتاح).
الوصول إلى بياناتك في دفتر ملاحظات
تريد إنشاء أصول بيانات للبيانات التي يتم الوصول إليها بشكل متكرر. يمكنك الوصول إلى البيانات باستخدام URI كما هو موضح في Access من URI في مخزن البيانات كما تفعل من نظام الملفات. ومع ذلك ، كما ذكرنا سابقا ، قد يصبح من الصعب تذكر عناوين URI هذه.
البديل هو استخدام azureml-fsspec المكتبة، التي توفر واجهة نظام ملفات لمخازن بيانات التعلم الآلي من Microsoft Azure. هذه طريقة أسهل للوصول إلى ملف CSV في Pandas:
هام
في خلية دفتر ملاحظات، نفذ هذه التعليمة البرمجية لتثبيت azureml-fsspec مكتبة Python في نواة Jupyter:
%pip install -U azureml-fsspec
import pandas as pd
# Get a handle of the data asset and print the URI
data_asset = ml_client.data.get(name="credit-card", version=v1)
print(f"Data asset URI: {data_asset.path}")
# Read into pandas - note that you will see 2 headers in your data frame - that is ok, for now
df = pd.read_csv(data_asset.path)
df.head()
لمزيد من المعلومات حول الوصول إلى البيانات في دفتر ملاحظات، راجع الوصول إلى البيانات من تخزين سحابة Azure أثناء التطوير التفاعلي.
إنشاء إصدار جديد من أصل البيانات
تحتاج البيانات إلى بعض التنظيف الخفيف لجعلها مناسبة لتدريب نموذج التعلم الآلي. يحتوي على:
- رأسان
- عمود معرف العميل الذي لن يتم استخدامه كميزة في التعلم الآلي
- المسافات في اسم متغير الاستجابة
أيضا ، بالمقارنة مع تنسيق CSV ، يعد تنسيق ملف Parquet طريقة أفضل لتخزين هذه البيانات. يوفر الباركيه ضغطا ويحافظ على المخطط. لتنظيف البيانات وتخزينها بتنسيق Parquet:
# Read in data again, this time using the 2nd row as the header
df = pd.read_csv(data_asset.path, header=1)
# Rename column
df.rename(columns={"default payment next month": "default"}, inplace=True)
# Remove ID column
df.drop("ID", axis=1, inplace=True)
# Write file to filesystem
df.to_parquet("./data/cleaned-credit-card.parquet")
يعرض هذا الجدول بنية البيانات في ملف default_of_credit_card_clients.csv الأصلي الذي تم تنزيله في خطوة سابقة. تحتوي البيانات التي تم تحميلها على 23 متغيرا توضيحيا ومتغير استجابة 1، كما هو موضح هنا:
| اسم (أسماء) العمود | نوع المتغير | الوصف |
|---|---|---|
| X1 | تفسيري | مبلغ الائتمان المحدد (الدولار الأمريكي): يشمل كلا من الائتمان الاستهلاكي الفردي والائتمان العائلي (التكميلي). |
| X2 | تفسيري | الجنس (1 = ذكر؛ 2 = أنثى). |
| X3 | تفسيري | التعليم (1 = كلية الدراسات العليا؛ 2 = جامعة؛ 3 = مدرسة ثانوية؛ 4 = أخرى). |
| X4 | تفسيري | الحالة الزوجية (1 = متزوج؛ 2 = عزباء؛ 3 = آخرين). |
| X5 | تفسيري | العمر (سنوات). |
| X6-X11 | تفسيري | تاريخ الدفع الماضي. سجلات المدفوعات الشهرية السابقة التي تم تتبعها من أبريل إلى سبتمبر 2005. -1 = الدفع حسب الأصول؛ 1 = تأخير الدفع لمدة شهر واحد؛ 2 = تأخير الدفع لمدة شهرين؛ . . .; 8 = تأخير الدفع لمدة ثمانية أشهر؛ 9 = تأخير الدفع لمدة تسعة أشهر وما فوق. |
| X12-17 | تفسيري | مبلغ بيان الفاتورة (بالدولار الأمريكي) من نيسان/أبريل إلى أيلول/سبتمبر 2005. |
| X18-23 | تفسيري | مبلغ الدفعة السابقة (NT dollar) من نيسان/أبريل إلى أيلول/سبتمبر 2005. |
| نعم | استجابه | الدفع الافتراضي (نعم = 1، لا = 0) |
بعد ذلك، قم بإنشاء إصدار جديد من مادة عرض البيانات. يتم تحميل البيانات تلقائيا إلى التخزين السحابي. بالنسبة لهذا الإصدار، أضف قيمة وقت بحيث يتم إنشاء رقم إصدار مختلف في كل مرة يتم فيها تشغيل هذه التعليمات البرمجية.
from azure.ai.ml.entities import Data
from azure.ai.ml.constants import AssetTypes
import time
# Next, create a new version of the data asset (the data is automatically uploaded to cloud storage):
v2 = "cleaned" + time.strftime("%Y.%m.%d.%H%M%S", time.gmtime())
my_path = "./data/cleaned-credit-card.parquet"
# Define the data asset, and use tags to make it clear the asset can be used in training
my_data = Data(
name="credit-card",
version=v2,
description="Default of credit card clients data.",
tags={"training_data": "true", "format": "parquet"},
path=my_path,
type=AssetTypes.URI_FILE,
)
## Create the data asset
my_data = ml_client.data.create_or_update(my_data)
print(f"Data asset created. Name: {my_data.name}, version: {my_data.version}")
ملف Parquet الذي تم تنظيفه هو أحدث إصدار من مصدر البيانات. تعرض هذه التعليمة البرمجية مجموعة نتائج إصدار CSV أولا، ثم إصدار Parquet:
import pandas as pd
# Get a handle of the data asset and print the URI
data_asset_v1 = ml_client.data.get(name="credit-card", version=v1)
data_asset_v2 = ml_client.data.get(name="credit-card", version=v2)
# Print the v1 data
print(f"V1 Data asset URI: {data_asset_v1.path}")
v1df = pd.read_csv(data_asset_v1.path)
print(v1df.head(5))
# Print the v2 data
print(
"_____________________________________________________________________________________________________________\n"
)
print(f"V2 Data asset URI: {data_asset_v2.path}")
v2df = pd.read_parquet(data_asset_v2.path)
print(v2df.head(5))
تنظيف الموارد
إذا كنت تخطط للمتابعة الآن إلى البرامج التعليمية الأخرى، فانتقل إلى الخطوات التالية.
إيقاف حساب مثيل
إذا كنت لا تخطط لاستخدامه الآن، فتوقف عن مثيل الحساب:
- في الاستوديو، في الجزء الأيمن، حدد Compute.
- في علامات التبويب العلوية، حدد حساب المثيلات.
- حدد "compute instance" في القائمة.
- في شريط الأدوات العلوي، حدد "Stop".
حذف كافة الموارد
هام
يمكن استخدام الموارد التي قمت بإنشائها كمتطلبات أساسية لبرامج تعليمية أخرى في Azure ومقالات إرشادية.
إذا كنت لا تخطط لاستخدام الموارد التي أنشأتها، فاحذفها، حتى لا تتحمل أي رسوم:
في مدخل Microsoft Azure، في مربع البحث، أدخل Resource groups وحددها من النتائج.
من القائمة، حدد مجموعة الموارد التي أنشأتها.
في صفحة Overview ، حدد Delete resource group.
أدخل اسم مجموعة الموارد. ثم حدد حذف.
الخطوات التالية
لمزيد من المعلومات حول مواد عرض البيانات، راجع إنشاء مواد عرض البيانات.
لمزيد من المعلومات حول مخازن البيانات، راجع إنشاء مخازن البيانات.
تابع البرنامج التعليمي التالي لمعرفة كيفية تطوير برنامج نصي للتدريب: