📄 النص الكامل للصفحة
تتمثل الخطوة التالية في تحويل قائمتي resized_images (الصور المعدل حجمها)، و labels (العناوين) إلى مصفوفات numpy، وكما هو الحال في الدرس السابق يُستخدم الاسمان المتغيران القياسيان (X,Y) لتمثيل البيانات والعناوين:import numpy as np # used for numeric computations X = np.array(resized_images)
Y = np.array(labels)
X.shape(1085, 224, 224, 3)يتحقق شكل البيانات من أنها تشمل 1,085 صورة، كل صورة منها ذات أبعاد 224 × 224، وذات ثلاث قنوات ألوان RGB.التجميع بدون هندسة الخصائص Clustering without Feature Engineeringسترکز محاولة التجميع الأولى على القيام بتسطيح الصور؛ لتحويل كل منها إلى متجه أحادي البعد أرقامه 150,528 = 3 × 224 × 224 رقمًا. وعلى غرار خوارزميات التصنيف التي تم توضيحها في الدرس السابق، فإن معظم خوارزميات التجميع تتطلب هذا النوع من التنسيق المتجهي.X_flat = np.array([img.flatten() for img in X])
X_flat[0].shape(150528,)X_flat[0] # prints the first flat image array([107, 146, 102, ..., 91, 86, 108], dtype=uint8)كل قيمة عددية في هذا التنسيق المسطح ذات قيمة ألوان RGB تتراوح بين 0 و 255. وفي الدرس السابق، تم توضيح أن التحجيم القياسي والتسوية يؤديان أحيانًا إلى تحسين نتائج بعض خوارزميات التعلم الآلي. يمكن استخدام المقطع البرمجي التالي لتسوية القيم وجعلها ما بين 0 و 1:X_norm = X_flat / 255
X_norm[0]array([0.41960784, 0.57254902, 0.4 , ..., 0.35686275, 0.3372549 , 0.42352941])2023 - 1447--- VISUAL CONTEXT ---Context: Publisher or source information for the textbook page.
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 5 بطاقة لهذه الصفحة
ما هو الغرض من تحويل قائمتي `resized_images` و `labels` إلى مصفوفات numpy؟
الإجابة: الغرض هو لتسهيل المعالجة العددية وإجراء العمليات الرياضية عليها، كما يتم استخدام المتغيرين القياسيين `X` و `Y` لتمثيل البيانات والعناوين.
الشرح: مصفوفات numpy توفر بيئة فعالة للتعامل مع البيانات الرقمية، مما يسهل تطبيق خوارزميات التعلم الآلي.
تلميح: فكّر في طبيعة المصفوفات العددية وقدرتها على إجراء الحسابات بكفاءة.
ماذا يمثل شكل البيانات `X.shape` والذي تم الحصول عليه بعد تحويل الصور إلى مصفوفات numpy؟
الإجابة: يشير شكل البيانات `(1085, 224, 224, 3)` إلى أن لدينا 1085 صورة، كل صورة بأبعاد 224 × 224 بكسل، وتحتوي على 3 قنوات لونية (RGB).
الشرح: الشكل (عدد الصور، الارتفاع، العرض، عدد القنوات) هو طريقة شائعة لوصف أبعاد بيانات الصور في مكتبات التعلم الآلي.
تلميح: فكّر في كل رقم في الشكل وما الذي يمثله في سياق معالجة الصور.
لماذا يتم تسطيح الصور (flatten) لتحويلها إلى متجه أحادي البعد في سياق خوارزميات التجميع؟
الإجابة: لأن معظم خوارزميات التجميع تتطلب مدخلات على شكل متجه أحادي البعد، وهذا يسمح بمعالجة كل صورة كوحدة واحدة يمكن مقارنتها مع غيرها.
الشرح: تحويل الصورة متعددة الأبعاد إلى متجه يجعلها متوافقة مع العديد من الخوارزميات التي تعمل على بيانات في بعد واحد.
تلميح: تذكر متطلبات بعض خوارزميات التعلم الآلي فيما يتعلق بشكل البيانات المدخلة.
ما هو الغرض من تسوية قيم بكسلات الصور لتصبح بين 0 و 1 (كما في `X_norm = X_flat / 255`)؟
الإجابة: تساعد التسوية على تحسين نتائج بعض خوارزميات التعلم الآلي، حيث تجعل القيم الرقمية في نطاق متناسق (0 إلى 1) مما يقلل من تأثير اختلاف المقاييس.
الشرح: العديد من خوارزميات التعلم الآلي تكون حساسة لمقاييس البيانات، وتسوية القيم تضمن أن جميع الميزات (البكسلات) لها نفس الأهمية النسبية.
تلميح: فكّر كيف يمكن لتغيير نطاق القيم أن يؤثر على الحسابات في خوارزميات التعلم الآلي.
ماذا يعني أن الصورة بعد التسطيح تحتوي على 150,528 رقمًا؟
الإجابة: يعني أن كل بكسل في الصورة (بأبعاده 224 × 224) وكل قناة لونية (3 قنوات RGB) قد تم تمثيلها كرقم واحد في متجه مسطح، أي 224 * 224 * 3 = 150,528.
الشرح: عملية التسطيح تدمج كل القيم المكانية واللونية للصورة في قائمة طويلة واحدة لتمثيلها.
تلميح: احسب كيف يمكن أن تصل الصورة ثنائية الأبعاد مع قنوات لونية إلى هذا العدد الكبير من الأرقام.