شكل 7.23: وصف البيانات - كتاب إنترنت الأشياء - الصف 11 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب إنترنت الأشياء - الصف 11 - الفصل 1 | المادة: إنترنت الأشياء | المرحلة: الصف 11 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: شكل 7.23: وصف البيانات

📚 معلومات الصفحة

الكتاب: كتاب إنترنت الأشياء - الصف 11 - الفصل 1 | المادة: إنترنت الأشياء | المرحلة: الصف 11 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

📝 ملخص الصفحة

📚 تحليل البيانات في Jupyter Notebook

المفاهيم الأساسية

تحليل البيانات في Jupyter Notebook: استخدام مفكرة جووبيتر لاستيراد المكتبات وقراءة ملف بيانات JSON وتحليل خصائصه الإحصائية.

خريطة المفاهيم

```markmap

تحديث البيانات والجزء الرئيسي للبرنامج (صفحة 300)

تحديث محتويات ملف البيانات

العملية:

#### إلحاق كائن التقرير (report) بمصفوفة data_file_objects.

#### كتابة مصفوفة data_file_objects المحدثة إلى ملف JSON.

#### إلحاق كائن التقرير بمصفوفة reports.

#### تفريغ مصفوفة messages_stack.

الجزء الرئيسي للبرنامج

العملية:

#### التحقق من وجود ملف البيانات (data.json) قبل قراءته.

#### قراءة محتويات ملف JSON وتخزينها في data_file_objects.

#### تهيئة عميل MQTT.

#### ربط معالج الأحداث on_connect بالدالة المناسبة.

#### ربط معالج الأحداث on_message بالدالة المناسبة.

#### الاتصال بوسيط MQTT باستخدام العنوان والمنفذ.

#### الاشتراك في الموضوع المحدد (TOPIC).

#### الاستماع بشكل مستمر للرسائل الواردة (loop_forever).

تحليل البيانات في Jupyter Notebook (صفحة 301)

الهدف:

#### تحليل مجموعة بيانات JSON جاهزة تحاكي تشغيل نموذج الأردوينو.

الخطوات:

#### 1. استيراد المكتبات المطلوبة (pandas, matplotlib).

#### 2. قراءة بيانات JSON من الملف.

#### 3. وصف مجموعة البيانات لاستخراج الخصائص الإحصائية.

البيانات:

#### ملف: U3_L3_DATA.json

#### الأعمدة:

##### id

##### garbage_drops

##### time_to_fill

الإحصائيات (شكل 7.23):

#### عدد السجلات (count): 50

#### المتوسط (mean):

##### id: 24

##### garbage_drops: 54

##### time_to_fill: 152

#### الانحراف المعياري (std):

##### id: 15

##### garbage_drops: 30

##### time_to_fill: 100

#### المدى (min - max):

##### id: 0 - 49

##### garbage_drops: 2 - 100

##### time_to_fill: 5 - 376

```

نقاط مهمة

  • يتم استخدام مجموعة بيانات JSON جاهزة لمحاكاة تشغيل نموذج الأردوينو لفترة طويلة.
  • يجب وضع ملف البيانات الذي تم تنزيله في نفس مجلد المشروع.
  • تُظهر الإحصائيات أن متوسط عدد قطرات القمامة (garbage_drops) هو 54، ومتوسط وقت الملء (time_to_fill) هو 152 وحدة.

📋 المحتوى المنظم

📖 محتوى تعليمي مفصّل

نوع: محتوى تعليمي

تحليل البيانات في Jupyter Notebook

نوع: محتوى تعليمي

ستستخدم الآن مفكرة جووبيتر لإجراء عمليات تحليل البيانات على ملف بيانات JSON، ونظراً لأن جميع البيانات اللازمة وتحليلها يستغرق وقتاً طويلاً، فقد تم توفير مجموعة بيانات JSON جاهزة لكي تستخدمها. تحاكي مجموعة البيانات هذه ترك نموذج الأردوينو الأولي قيد التشغيل لفترة طويلة من الوقت.

نوع: NON_EDUCATIONAL

http://binary-academy.com/dnld/KSA/IOT2/U3_DATA.json

نوع: محتوى تعليمي

سنقوم أولاً باستيراد المكتبات المطلوبة وقراءة بيانات JSON من الملف.

نوع: محتوى تعليمي

import os import pandas as pd import matplotlib.pyplot as plt # The data that will be used, extracted from the JSON dataset data = pd.read_json('U3_L3_DATA.json', 'records', convert_dates=['timestamp'])

نوع: محتوى تعليمي

سنقوم بعد ذلك بوصف مجموعة البيانات لاستخراج الخصائص الإحصائية.

نوع: محتوى تعليمي

data.describe().round(0)

نوع: محتوى تعليمي

هذا هو ملف البيانات الذي تم تنزيله والذي يجب وضعه في نفس مجلد المشروع.

شكل 7.23: وصف البيانات

نوع: محتوى تعليمي

id garbage_drops time_to_fill count 50.0 50.0 50.0 mean 24.0 54.0 152.0 std 15.0 30.0 100.0 min 0.0 2.0 5.0 25% 12.0 30.0 60.0 50% 24.0 55.0 147.0 75% 37.0 78.0 235.0 max 49.0 100.0 376.0

🔍 عناصر مرئية

شكل 7.23: وصف البيانات

A table showing descriptive statistics for three columns: 'id', 'garbage_drops', and 'time_to_fill'. The statistics include count, mean, standard deviation (std), minimum (min), 25th percentile, 50th percentile (median), 75th percentile, and maximum (max). All values are rounded to the nearest whole number.

📄 النص الكامل للصفحة

تحليل البيانات في Jupyter Notebook ستستخدم الآن مفكرة جووبيتر لإجراء عمليات تحليل البيانات على ملف بيانات JSON، ونظراً لأن جميع البيانات اللازمة وتحليلها يستغرق وقتاً طويلاً، فقد تم توفير مجموعة بيانات JSON جاهزة لكي تستخدمها. تحاكي مجموعة البيانات هذه ترك نموذج الأردوينو الأولي قيد التشغيل لفترة طويلة من الوقت. http://binary-academy.com/dnld/KSA/IOT2/U3_DATA.json سنقوم أولاً باستيراد المكتبات المطلوبة وقراءة بيانات JSON من الملف. import os import pandas as pd import matplotlib.pyplot as plt # The data that will be used, extracted from the JSON dataset data = pd.read_json('U3_L3_DATA.json', 'records', convert_dates=['timestamp']) سنقوم بعد ذلك بوصف مجموعة البيانات لاستخراج الخصائص الإحصائية. data.describe().round(0) هذا هو ملف البيانات الذي تم تنزيله والذي يجب وضعه في نفس مجلد المشروع. --- SECTION: شكل 7.23: وصف البيانات --- id garbage_drops time_to_fill count 50.0 50.0 50.0 mean 24.0 54.0 152.0 std 15.0 30.0 100.0 min 0.0 2.0 5.0 25% 12.0 30.0 60.0 50% 24.0 55.0 147.0 75% 37.0 78.0 235.0 max 49.0 100.0 376.0 --- VISUAL CONTEXT --- **TABLE**: شكل 7.23: وصف البيانات Description: A table showing descriptive statistics for three columns: 'id', 'garbage_drops', and 'time_to_fill'. The statistics include count, mean, standard deviation (std), minimum (min), 25th percentile, 50th percentile (median), 75th percentile, and maximum (max). All values are rounded to the nearest whole number. Table Structure: Headers: id | garbage_drops | time_to_fill Rows: Row 1: count | 50.0 | 50.0 | 50.0 Row 2: mean | 24.0 | 54.0 | 152.0 Row 3: std | 15.0 | 30.0 | 100.0 Row 4: min | 0.0 | 2.0 | 5.0 Row 5: 25% | 12.0 | 30.0 | 60.0 Row 6: 50% | 24.0 | 55.0 | 147.0 Row 7: 75% | 37.0 | 78.0 | 235.0 Row 8: max | 49.0 | 100.0 | 376.0 Calculation needed: The table presents descriptive statistics for the dataset. Data: Statistical summary of dataset columns. Key Values: count: 50.0, mean (id): 24.0, mean (garbage_drops): 54.0, mean (time_to_fill): 152.0, std (id): 15.0, std (garbage_drops): 30.0, std (time_to_fill): 100.0, min (id): 0.0, min (garbage_drops): 2.0, min (time_to_fill): 5.0, max (id): 49.0, max (garbage_drops): 100.0, max (time_to_fill): 376.0 Context: This table, labeled 'Figure 7.23: Data Description', shows the statistical summary of the dataset used in the Jupyter Notebook analysis. It provides key metrics like mean, standard deviation, and range for the 'id', 'garbage_drops', and 'time_to_fill' columns, which are essential for understanding the data distribution.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 4 بطاقة لهذه الصفحة

ما الغرض من استخدام الدالة `data.describe().round(0)` في تحليل البيانات باستخدام pandas؟

  • أ) لتصفية البيانات وإزالة القيم المتطرفة من DataFrame.
  • ب) لإنتاج ملخص إحصائي للبيانات الرقمية في DataFrame وتقريب النتائج إلى أقرب عدد صحيح.
  • ج) لرسم مخطط بياني يوضح العلاقة بين أعمدة البيانات المختلفة.
  • د) لحساب عدد الصفوف والأعمدة في مجموعة البيانات فقط.

الإجابة الصحيحة: b

الإجابة: لإنتاج ملخص إحصائي للبيانات الرقمية في DataFrame وتقريب النتائج إلى أقرب عدد صحيح.

الشرح: 1. `data.describe()` تولد إحصائيات وصفية مثل المتوسط والانحراف المعياري والقيم الدنيا والعليا. 2. `.round(0)` تقرب هذه القيم إلى أقرب عدد صحيح (0 منازل عشرية). 3. الهدف هو الحصول على نظرة سريعة وفهم لتوزيع البيانات.

تلميح: تذكر أن `describe()` تقدم إحصائيات موجزة، و `round()` تتحكم في الدقة.

التصنيف: مفهوم جوهري | المستوى: متوسط

في سياق تحليل البيانات، ماذا يمثل العمود 'std' في جدول الإحصائيات الوصفية الناتج عن `data.describe()`؟

  • أ) مجموع القيم في العمود.
  • ب) الانحراف المعياري، وهو مقياس لمدى تشتت أو انتشار البيانات حول القيمة المتوسطة.
  • ج) القيمة الأكثر تكراراً في العمود.
  • د) نسبة البيانات التي تقع ضمن نطاق محدد.

الإجابة الصحيحة: b

الإجابة: الانحراف المعياري، وهو مقياس لمدى تشتت أو انتشار البيانات حول القيمة المتوسطة.

الشرح: 1. 'std' هو اختصار للكلمة الإنجليزية 'Standard Deviation' والتي تعني الانحراف المعياري. 2. الانحراف المعياري هو مقياس إحصائي يوضح مقدار التباين أو التشتت في مجموعة من القيم. 3. تشير القيمة الأعلى إلى انتشار أكبر للبيانات حول المتوسط، والقيمة الأقل تشير إلى تجمع البيانات بالقرب من المتوسط.

تلميح: يعد 'std' اختصاراً لمصطلح إحصائي شائع.

التصنيف: تعريف | المستوى: متوسط

بناءً على جدول الإحصائيات، إذا كان الوسيط (50%) لوقت الملء (time_to_fill) هو 147.0، فماذا يعني ذلك؟

  • أ) أن متوسط وقت الملء هو 147.0.
  • ب) أن 147.0 هو أكبر وقت ملء تم تسجيله.
  • ج) أن 50% من القيم في عمود time_to_fill أقل من أو تساوي 147، و 50% منها أكبر من أو تساوي 147.
  • د) أن 147.0 هو الوقت الأكثر تكراراً لملء الحاوية.

الإجابة الصحيحة: c

الإجابة: أن 50% من القيم في عمود time_to_fill أقل من أو تساوي 147، و 50% منها أكبر من أو تساوي 147.

الشرح: 1. الوسيط (المئين الخمسين أو 50%) هو القيمة التي تقع في منتصف مجموعة البيانات عند ترتيبها تصاعدياً. 2. قيمة 147.0 تعني أن نصف السجلات في مجموعة البيانات لديها وقت ملء أقل من أو يساوي 147 وحدة زمنية. 3. النصف الآخر من السجلات لديها وقت ملء أكبر من أو يساوي 147 وحدة زمنية.

تلميح: الوسيط يقسم البيانات إلى نصفين متساويين.

التصنيف: مفهوم جوهري | المستوى: متوسط

في بيئة مفكرة جوبيتر (Jupyter Notebook)، ما هي الدالة البرمجية التي تُستخدم لاستخراج ملخص للخصائص الإحصائية لمجموعة البيانات مثل المتوسط الحسابي والانحراف المعياري؟

  • أ) data.read_json()
  • ب) data.describe()
  • ج) data.info()
  • د) data.plot()

الإجابة الصحيحة: b

الإجابة: data.describe()

الشرح: تُستخدم دالة ()describe في مكتبة Pandas للحصول على تحليل إحصائي سريع للبيانات الرقمية، حيث تظهر عدد القيم، والمتوسط، والانحراف المعياري، والقيم الدنيا والعليا، والنسب المئوية التراكمية (الربيعات).

تلميح: هذه الدالة تقوم بـ "وصف" البيانات إحصائياً وتوليد قيم مثل (count, mean, std).

التصنيف: صيغة/خطوات | المستوى: متوسط